如何在Selenium PhantomJS中通过Full xPath查找元素

时间:2017-02-17 12:21:37

标签: java selenium xpath webdriver phantomjs

我想通过xPath找到我刚从浏览器HTML查看器中复制的元素。有没有什么好方法可以使用它?我如何找到这个元素?

例如:

1)的 HTML

<span class="fifth-star star-common" data-star-index="5" jsaction="click:JdtzLb;mouseenter:UYGLjf"> </span>

XPATH

/html/body/div[9]/div/div/div/div[1]/div/div/div[4]/div/div[2]/div[2]/div[4]/div/div/div[1]/div[1]/span[5]

2) 的 HTML

<a class="actionlink" href="javascript:CCommentThread.DeleteComment( 'PublishedFile_Public_76561198045856086_852822766_0', '133257324794187128' );">Удалить</a>

XPATH

//*[@id="comment"]/div[2]/div[1]/a[2]

我试过这种方式

driver.findElement(By.xpath("/html/body/div[9]/div/div/div/div[1]/div/div/div[4]/div/div[2]/div[2]/div[4]/div/div/div[1]/div[1]/span[5]"));

这个

driver.findElement(By.xpath("//*[@id=\"comment\"]/div[2]/div[1]/a[2]"));

1 个答案:

答案 0 :(得分:0)

在XPATH中使用single quotes而不是使用\

进行转义

尝试这种方式:

driver.findElement(By.xpath("//*[@id='comment']/div[2]/div[1]/a[2]"));

如果效率更高XPATH,请分享广告代码。

其他方式:

driver.findElement(By.xpath("//a[starts-with(@href,'javascript:CCommentThread.DeleteComment')]"));