无法使用Selenium WebDriver(Java)找到实现为Span的元素

时间:2015-12-28 21:00:45

标签: java selenium xpath selenium-webdriver

在Selenium IDE中录制时,结果如下:

  

点击   //跨度[@ ID = 'SOME_TEXT'] /表/ tbody的/ TR / TD /表/ tbody的/ TR [2] /日/ HD /字体/跨度/缩写

这是我在Eclipse中使用WebDriver(Java)

的条目
  

driver.findElement(By.xpath(“//跨度[@ ID = 'SOME_TEXT'] /表/ tbody的/ TR / TD /表/ tbody的/ TR [2] /第2 / H 2 /字体/量程/缩写“))上单击();

以下是我收到的错误:

  

没有这样的元素:无法找到元素:   { “方法”: “的xpath”, “选择器”:“//跨度[@ ID = 'SOME_TEXT'] /表/ tbody的/ TR / TD /表/ tbody的/ TR [2] /第2 / H 2 /字体/跨度/缩写“},

HTML

<span onclick="change_site"('SITES');" style="cursor:pointer; color:#12345; text-decoration:underline;">
    <acronym title=Site ID:">DEFAULTSITE</acronym>
</span>

4 个答案:

答案 0 :(得分:1)

根据提供的HTML,您可以直接访问首字母缩写词元素

driver.findElement(By.xpath("//span/acronym[@title='Site Id:']")).click();

答案 1 :(得分:0)

尝试使用以下xPath:

driver.findElement(By.xpath("//acronym[contains(text(),'DEFAULTSITE')]").click();

答案 2 :(得分:0)

尝试以下任何xpath

driver.findElement(By.xpath("//acronym[text()='DEFAULTSITE']");
driver.findElement(By.xpath("//span/acronym[text()='DEFAULTSITE']");

css

driver.findElement(By.css("acronym[title='Site']");

答案 3 :(得分:0)

如果以上Xpath都不适合您,请尝试以下Xpath

//span[@id='some_text']/table/tbody/tr/td/table/tbody/tr[2]/th/hd/font/span/*[name()=acronym]

如果这对你有帮助,请告诉我。