问题
在日常使用时,会出现找不到元素,或者元素无法点击等错误,怎么使程序忽略掉这些错误,继续执行后面的代码呢
在 UI 自动化测试中,如果出现找不到元素或元素无法点击的错误,可以使用以下方法处理这些错误,使程序忽略它们并继续执行后面的代码:
例子:
try {
WebElement element = driver.findElement(By.id("myElement"));
element.click();
} catch (NoSuchElementException e) {
// 处理元素找不到的错误
System.out.println("找不到元素");
e.printStackTrace();
} catch (ElementNotInteractableException e) {
// 处理元素无法点击的错误
System.out.println("元素无法点击");
e.printStackTrace();
}
// 继续执行后续的代码
例子:
WebElement element = driver.findElement(By.id("myElement"));
if (element.isDisplayed() && element.isEnabled()) {
element.click();
} else {
System.out.println("元素不存在或无法交互");
}
// 继续执行后续的代码
例子:
WebDriverWait wait = new WebDriverWait(driver, 10);
try {
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("myElement")));
element.click();
} catch (TimeoutException e) {
// 处理超时错误
System.out.println("超时,无法点击元素");
e.printStackTrace();
}
// 继续执行后续的代码