我正在尝试检测屏幕上可能具有不同索引的元素,有时可以像(//input[@value='OK'])[1]
这样检测到,有时可以用(//input[@value='OK'])[2]
检测到,没有其他方法可以使此元素唯一,因为多个元素的开发相同,但每次都将以不同的格式显示,有没有办法检查一下是第一个还是第二个索引检测到的,然后按一下。我试着尝试和捕捉,但是没有用
try{
while(true) {
new WebDriverWait(driver, 5)
.ignoring(ElementNotVisibleException.class, NoSuchElementException.class)
.until(ExpectedConditions.visibilityOf(driver.findElement(element))))
.click();
}
} catch (Exception ignored){ }
2条答案
按热度按时间jvidinwx1#
试试这个
kwvwclae2#
调查一下,看看你是否能写出对这两种情况都有效的相对xpath。如果写不出来,你可以使用一个xpath条件运算符来合并这两个值,比如
//*[@id='notify-containe' or contains(@id,'notify-container')]
。