Selenium Java。查找具有复杂Xpath的元素

时间:2014-04-06 14:53:15

标签: java xpath selenium-webdriver

我在查找表格中的元素时遇到了一些麻烦。该网站是finance.yahoo.com/q/ks?s=GOOG

我试图找到名为" Market Cap(Intraday)"它确实有一个ID,但我也需要表中的其他元素,但它们不需要。我已经跟踪了我想到的xPath

//table[@id='yfncsumtab']/tbody/tr[2]/td[1]/table[2]/tbody/tr/td/table/tbody/td[1]/td[2]/span

然而,它没有吐出数额。我收到no_such_element异常(它没有找到它)

我的xPath是否正确?或者是否有更简化的方法来查找元素?

我在技术上不能通过课程名称,因为他们可以随着股票改变

2 个答案:

答案 0 :(得分:0)

你有一个错字。正确的xpath是:

//table[@id='yfncsumtab']/tbody/tr[2]/td[1]/table[2]/tbody/tr/td/table/tbody/tr[1]/td[2]/span

你的最后一部分有一个应该是tr的td。

调试此问题的一种简单方法是使用Chrome开发者工具,请参阅Is there a way to get the xpath in google chrome?

答案 1 :(得分:0)

您可以编写简单的xpath,而不是编写如此冗长的xpath:

//td[text()='Market Cap (intraday)']

查找文件为td的{​​{1}}。同样,您可以从表格中为其他单元格做。