java - 如何在 Selenium webdriver 中将 "unable to locate element"更改为另一条消息,如 "Element doesn' t exist"?

标签 java selenium selenium-webdriver automation

我正在使用 Selenium Webdriver,我想在每个步骤后打印一些消息,这样我就可以在成功时打印一些消息,但在失败时我会收到“无法定位元素”。请看我的代码:

   WebElement a= driver.findElement(By.xpath(".//*[@id='eviceSliderbuttonPrev']/a"));

   if(a.isDisplayed())
   {
       System.out.println("Device Slider button exists");

       a.click();

       System.out.println("Button is clickable");
   }
  else {
       System.out.println("Device Slider button doesn't exist!");

但是当案例失败并且我得到“无法定位元素”时,不会打印出 else 条件。

你知道如何解决这个问题吗?

最佳答案

当元素未显示时,您可以使用将返回列表的 driver.findElements(...),而不是抛出 NoSuchElementException 而不是返回 false 的 isDisplayed()。只需检查列表的大小为 0 或 1,而不是处理异常。

关于java - 如何在 Selenium webdriver 中将 "unable to locate element"更改为另一条消息,如 "Element doesn' t exist"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39013223/

相关文章:

java - RxJava 2 - 调度程序抛出致命异常

javascript - 我无法在 Mac OSX 上使用 chromedriver 获取 selenium-webdriver

Python Selenium 设置多个 Chrome 首选项

c# - 无法从 WebDriver(Chrome、C#)获取正确的控制台日志

java - 如何在 SWT/Tree 和/或 JFace/TreeViewer 中扩展给定路径?

java - JodaTime - 如何以 UTC 获取当前时间

java - Selenium 与身份验证弹出窗口交互

python - 查找页面上文本的部分内容,然后使用 Selenium 在 Python 中返回该 <div> 的完整内容

python - 使用带代理的 selenium 时无法访问该网站

java - 语言规范是如何创建的