我正在使用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条件不会打印出来,并且出现“无法定位元素”的情况。
你知道如何解决这个问题吗?
实际上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] 删除。
我来说两句