如何处理动态xpath

时间:2015-02-14 07:19:28

标签: java javascript xpath selenium-webdriver

我需要根据搜索操作选择已返回的文本。 对于每次搜索,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

1 个答案:

答案 0 :(得分:0)

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

根据您发布的标准,这应该可以胜任。

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

......用你的元素做事