Selenium说无效的xpath定位器

时间:2016-01-20 08:54:44

标签: java xpath selenium-webdriver

我试图获取HREF属性的值,但总是说错误的Xpath。

Html代码:

enter image description here

我正在尝试代码:

     WebElement Link = driver.findElement(By.xpath("//table[contains(@class,'display')]/thead/tbody/tr/td/a"));
     System.out.println(Link.getAttribute("href"));

我尝试了很多xpath,但没有一个工作。

1 个答案:

答案 0 :(得分:2)

这应该有效:

 WebElement Link = driver.findElement(By.xpath("//table[contains(@class,'display')]/tbody/tr/td/a"));

说明:tbody未嵌套在thead

请注意,像这样的路径表达式可以按文档顺序返回一组多个节点。 findElement方法仅返回第一个结果节点。所以:如果您要查找的a元素不再是此表中的第一个元素,则路径表达式会中断。

如果href是唯一的,那么这样的事情就不那么容易出错了:

 WebElement Link = driver.findElement(By.xpath("//table[contains(@class,'display')]//a[@href='/admin/client/product_overrides/edit/242625']"));