如何在Selenium Webdriver中将“无法定位元素”更改为另一个消息,例如“元素不存在”?

佐姆佐姆

我正在使用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条件不会打印出来,并且出现“无法定位元素”的情况。

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

索拉布·高尔(Saurabh Gaur)

实际上findElement要么返回element要么throws NoSuchElementException,所以if(a.isDisplayed())只有找到element才满足条件。

如果您想检查元素的存在,我建议尝试findElements改用并检查列表的大小,因为findElements总是返回空列表或的列表WebElement

您应该尝试以下方法:

List<WebElement> a= driver.findElements(By.xpath(".//*[@id='eviceSliderbuttonPrev']/a"));

if(a.size() > 0 && a.get(0).isDisplayed())
{
   System.out.println("Device Slider button exists");
   a.get(0).click();
   System.out.println("Button is clickable");
 }else {
   System.out.println("Device Slider button doesn't exist!");
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Selenium IDE / Xpath-当不存在另一个给定元素时,如何在表格单元格中选择一个元素?

Selenium webdriver 消息:没有这样的元素:无法定位元素 - iFrame

Selenium 无法定位元素,一个使用xpath 的搜索按钮

无法使用 ID 在 Selenium 中定位元素。能够在一页上获取元素。但是当我在另一个页面上导航时无法定位

NoSuchElementException:消息:尝试使用Selenium和Python定位元素时无法定位元素

如何基于另一个列表中不存在的属性的所有元素

Selenium无法定位元素(Python)

Selenium 无法定位元素

无法定位元素 _ Python Selenium

Python Selenium 无法定位元素

如何使用Java检查Selenium Webdriver中另一个元素中是否存在一个元素?

如何在Selenium WebDriver中从一个类到另一个类调用Web元素

Ruby - Selenium Webdriver - 没有这样的元素:无法定位元素:

如何使用xpath相对于通过innerText标识的另一个元素定位元素

如何简化对F#数组中另一个数组中不存在的元素的过滤?

如何从列表中查找r中另一个列表中不存在的元素

Selenium 无法定位字段集中的定位元素

如何通过另一个列表中的元素中不存在的属性值过滤一个列表中的元素?

NoSuchElementException:消息:尝试通过 Selenium 和 Python 单击 VISA 按钮时无法定位元素

selenium.common.exceptions.NoSuchElementException:消息:无法定位元素 [id=""]

Selenium - 即使在验证后也无法定位元素

Python Selenium-显示后“无法定位元素”

IE 上的 Python Selenium 无法定位元素?

如何在Selenium Webdriver中将值从一个测试用例传递到另一个

如果另一个表中不存在该值,如何将列中的字段值更改为“其他”?

Selenium Webdriver C#如何测试不存在的元素?

即使元素 id 存在,也无法使用 selenium webdriver 定位元素

Selenium 消息:没有这样的元素:无法定位元素:不在 linux 服务器上工作

chromedriver selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素