如何处理动态xpath

How to handle dynamic xpaths

本文关键字:动态 xpath 处理 何处理      更新时间:2023-10-23

我需要根据搜索操作选择返回的文本。对于每个搜索,xpath都会有所不同。这些是在搜索时返回的各种xpath

.//*[@id='messageBoxForm']/div/div[1]/div[1]/div/div[1]/div[1]/span/input
.//*[@id='messageBoxForm']/div/div[1]/div[1]/div/div[2]/div/div/div[2]/div[2]/strong

您可以将它放在try-catch块中,并在try中使用第一个x路径,捕获Selenium可以抛出的"NoSuchElementException",然后尝试另一个x路径。

根据你发布的标准,这应该可以完成工作。

WebElement element;
try {
    element = webDriver.findElement(By.xpath("xyz"));
} catch (NoSuchElementException e) {
element = webDriver.findElement(By.xpath("abc"));
} 

使用元素执行操作