每次webdriver代码执行时都会更改xpath

时间:2018-02-02 07:23:26

标签: testing automation webdriver qa

每次执行webdriver代码时,xpath都会发生变化。驱动程序代码driver.findElement(By.xpath(" / html / body / app-root / app-patient-index / app-patient-profile / div [ 1] / DIV [2] / DIV /标签集/ DIV /标签[1] /形式/ DIV / DIV [3] / DIV / DIV [1] / UL /锂[1] / DIV / DIV [2] /格/div[2]/input"))sendKeys("K S");

控制台错误线程中的异常" main" org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:{"方法":" xpath","选择器":" / HTML /体/应用根/ APP-患者索引/ APP-患者简档/ DIV [1] / DIV [2] / DIV /标签集/ DIV /标签[1] /形式/ DIV / DIV [3] / DIV / DIV [1] / UL /锂[1] / DIV / DIV [2] / DIV / DIV [2] /输入"}

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果您的XPATH每次执行时都会更改,那么您的页面就会有动态结构。在这种情况下避免绝对XPATH ,它将无法正常工作。您应该使用另一个唯一的定位器。例如,使用相对XPATH 。有了它,您可以与没有唯一idclass的网页元素进行互动。您只需要一个具有一个的父元素。你的定位器将是短而可靠的

相对XPATH的示例

//*[@id="question-header"]/h1/a