gpt4 book ai didi

java - 无法找到 xPath SELENIUM JAVA

转载 作者:行者123 更新时间:2023-11-30 03:19:52 25 4
gpt4 key购买 nike

我遇到问题不断抛出无法找到 xpath 的错误,因为我设置了打开此 xpath 来插入数据的循环。虽然我把等待存在的时间设置为60秒,但还是找不到。我一直在尝试使用标题或状态调用此方法的很多方法,因此它仍然不起作用。请指教

HTML:

<a href="javascript: void edit('edit_total_amt')" title="Override total tax amount" onmouseover="status='Override total tax amount'; return true">91.14</a>

代码:

public void clickOnItemTax () {

By xPath = By.xpath("//a[contains(@href,'edit_total_amt')]");

this.sleep(3);
if (this.waitForExistence(xPath,60)) {
WebElement domLink = linkGet(xPath);
domLink.click();

} else {
JLog.fail("Unable to find a writable item taxdialog!");
}

}

-等待存在

public boolean waitForExistence(By by, int timeoutSeconds){
boolean exists = false;
Long polling_interval = (long) 250;
Long timeout = (long) timeoutSeconds * 1000; // in seconds
Long elapsed = (long) 0;
while (elapsed <= (timeout)) {
if (exists(by)) {
exists = true;
break;
}
try {
Thread.sleep(polling_interval);
} catch (InterruptedException e) {
JLog.warning(JLog.getStackTraceAsString(e));
break;
}
elapsed += polling_interval;
}
if (elapsed >= timeout) {
JLog.warning("waitForExistence waited for " + timeout/1000 + " seconds, but unable to find: " + by.toString());
}
return exists;
}

谢谢你

最佳答案

如果这是公司内部网页,我可以建议您提供一个“id”,以使您的生活更轻松。如果没有,你可以这样做。当您可以在 Selenium 中使用隐式或显式等待时间时,我总是对人们编写自己的等待方法感到惊讶。

前者如下,使用此方法唯一要注意的是,在查找元素时总是会等待这么长时间。然而,这是一种更安全的方式来编写寻找元素的脚本,并且不会使您的代码变得臃肿:

driver.manage().timeouts().implicitlyWait(6, TimeUnit.SECONDS);

if (driver.findElements(By.cssSelector("//*[@title=\"Override total tax amount\"]")).size()!=0)
{
driver.findElement(By.cssSelector("//*[@title=\"Override total tax amount\"]")).click();
}
else
{
JLog.fail("Unable to find a writable item taxdialog!");
}

执行此操作的明确方法如下,其中 10 是您的秒数:

WebElement myDynamicElement = (new WebDriverWait(driver, 10))
.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("//*[@title=\"Override total tax amount\"]")));

有关此内容的更多信息,请参阅以下链接。 http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp

关于java - 无法找到 xPath SELENIUM JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31581319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com