无法使用xpath在webdriver

时间:2015-07-26 18:20:39

标签: java html xpath

感谢任何帮助。

我想知道firebug副本xpath是否一直在为webdriver工作。

我有一个带有列表的页面,我可以获得完整的xpath来查找前两个元素,但是不能对3,4th执行相同的操作。

对于第三个,它不起作用:

WebElement element3=driver.findElement(By.xpath("/html/body/div[6]/div[2]/div/div[3]/div/div[3]/div/div[4]/div/div[4]/div/div/div/div[1]/div[2]/div[1]/div/div[2]/div/div[2]/div[1]/div/div[2]/div[1]/table/tbody[2]/tr[3]/td[5]/div"));

错误:

  

org.openqa.selenium.NoSuchElementException:无法找到元素:   { “方法”: “的xpath”, “选择器”:“/ HTML /体/格[6] / DIV [2] / DIV / DIV [3] / DIV / DIV [3] / DIV / DIV [4] / DIV / DIV [4] / DIV / DIV / DIV / DIV [1] / DIV [2] / DIV [1] / DIV / DIV [2] / DIV / DIV [2] / DIV [1] / DIV /格[2] / DIV [1] /表/ tbody的[2] / TR [3] / TD [5] / DIV“}

我的HTML:

<tr class="GKWRNW-BEX GKWRNW-BLYD GKWRNW-BELB GKWRNW-BON"> 
<td class="GKWRNW-BKW GKWRNW-BIYD x-grid-cell-first explorerGridRow" style="" cellindex="0"> 
<td class="GKWRNW-BKW GKWRNW-BIYD undefined x-treegrid-column explorerGridRow" style="" cellindex="1"> 
<div class="GKWRNW-BMW GKWRNW-BJYD" style=""> 
<div id="x-auto-390" class="GKWRNW-BPLC"> 
<div class="GKWRNW-BMLC"> 
<img style="height: 18px; width: 0px;" src="data:image/gif;=="> 
<img class="GKWRNW-BOLC" style="width: 16px" src="data:image/gif;base64,R0l=="> <span class="GKWRNW-BILC"></span>

1 个答案:

答案 0 :(得分:0)

使用x-path查找元素不是一种有效的方法。因为DOM元素的任何更改(例如 - 添加或删除像div这样的新DOM元素)都会导致x路径发生变化。

最好将id用于每个DOM元素并使用By.id() -

WebElement element = driver.findElement(By.id("someId::button"));