cL8*_*L83 3 selenium xpath webdriver selenium-webdriver
我遇到了一个问题,即由于我的测试语句无法找到该元素,因此该测试仅挂在那里(浏览器打开,无法继续进行下一个测试)。
我的TestStatemet像这样:
driver.findElement(By.xpath("//input[@name='AID' and contains(@value,'sampleDataThatwillNotFound')]"));
Run Code Online (Sandbox Code Playgroud)
该测试仅在通过XPATH查找时挂起,而在通过NAME / ID查找时则没有问题。我已将超时设置为60秒,在60秒之后,它仍然挂起。
有人遇到过这个问题吗?还是有人知道如何解决此问题?
小智 5
好吧,我遇到了同样的问题,并在webdriver api doc中发现了这一问题:
findElement不应用于查找不存在的元素,而应使用findElements(By)和声明零长度响应。
所以我用类似
List<WebElement> found = driver.findElements(By.id("elementid"));
if (found.size() > 0)
{
// get the 1st element
} else {
// time out
}
Run Code Online (Sandbox Code Playgroud)
解决此问题。findElements在我的情况下,隐式超时可以正常工作。
| 归档时间: |
|
| 查看次数: |
8385 次 |
| 最近记录: |