简体   繁体   中英

How to continue webdriver/selenium after error

I'm doing a test bot with webdriver. I have a scenario where it clicks on a button, a new windows open, and it searches for an element by a specific xpath, but sometimes there is no such element because it can be disabled and i get this error: org.openqa.selenium.NoSuchElementException. How can i bypass it/continue the bot so it just closes the new windows if it doesn't find the element with that xpath and just continue with the code?

In 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
}

You need to surround the click event with a try/catch statement, and inside the catch statement check if the exception is the one you are trying to bypass:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM