错误后如何继续webdriver / selenium

时间:2016-05-23 19:53:19

标签: selenium xpath selenium-webdriver webdriver selenium-firefoxdriver

我正在用webdriver做一个测试机器人。我有一个场景,它点击一个按钮,一个新窗口打开,它按特定的xpath搜索一个元素,但有时没有这样的元素,因为它可以被禁用,我得到这个错误:org.openqa.selenium .NoSuchElementException。我如何绕过它/继续机器人如果它没有找到具有该xpath的元素并且只是继续代码那么它只关闭新窗口?

2 个答案:

答案 0 :(得分:2)

在Java中:

List<WebElement> foundElement = driver.findElements(By.xpath("<x-path of your element>"));
if (foundElement.size() > 0) 
{
    // do whatever you want to do in **presence** of element
} else {
    // do whatever you want to do in **absence** of element
}

答案 1 :(得分:2)

您需要使用try / catch语句包围click事件,并在catch语句中检查异常是否是您试图绕过的异常:

try {
    driver.findElement(by).click();
} catch(Exception e) {
    if ( !(e instanceof NoSuchElementException) ) {
       throw e;
    }
}