动态xpath处理

时间:2015-06-04 12:38:58

标签: selenium xpath selenium-webdriver

以下是我的 xpath

driver.findElement(By.xpath("html/body/div[9]/div/a/div")).click();

在上面的代码中,div [6]的值不断变化。 有时它会

driver.findElement(By.xpath("html/body/div[6]/div/a/div")).click();  或

driver.findElement(By.xpath("html/body/div[1]/div/a/div")).click();

请提供解决方案。

2 个答案:

答案 0 :(得分:0)

我们遇到了动态页面内容的这个问题,使得XPath识别基本没用。我们决定确保测试中需要识别的所有内容都设置了id。所以:

driver.findElement(By.xpath("html/body/div[6]/div/a/div")).click(); 

变为:

driver.findElement(By.id("myDivId")).click(); 

答案 1 :(得分:0)

使用div' id'或者' class'而不是div [6]。

像:

/html/body/div[@id='div_id']/div/a/div

(或)

/html/body/div[@class='div_className']/div/a/div