selenium IsDisplayed()向我抛出NoSuchElementException错误,而不是打印布尔值[重复]

vq8itlhq  于 2023-01-17  发布在  其他
关注(0)|答案(1)|浏览(99)
    • 此问题在此处已有答案**:

XPath:: Get following Sibling(3个答案)
昨天关门了。
我们在lib类的框架中创建了IsDisplayed()方法:

public static boolean isDisplayed()(WebElement locator){

try{
return locator.isDisplayed();
}catch (Exception e){
return false;
}
}

这是Web元素:

public WebElement icon(String rootnumber){
WebElement e=driver.findElement.(By.xpath("//div[@row_id='"+rootnumber+"']//following-sibling::span[@matbadgecolor='warn']"));
return e;
}

所以在一个方法中,我试着像这样打印icon的布尔值:

System.out.println("Boolean value of icon presence is "+lib.isDisplayed(icon("123456789")));

它在sysout命令中给我NoSuchElementException错误,而不是打印布尔值。

mitkmikd

mitkmikd1#

你几乎就做到了。但是在处理xpath时,函数是following-sibling()
因此,您只需将foolowing-sibling替换为 following-sibling,有效代码块将为:

public WebElement icon(String rootnumber){
WebElement e=driver.find(By.xpath("//div[@row_id='"+rootnumber+"']//following-sibling::span[@matbadgecolor='warn']"));
return e;
}

相关问题