【问题标题】:Selenium Java. Finding an element with a complex Xpath硒Java。查找具有复杂 Xpath 的元素
【发布时间】:2014-04-07 11:40:58
【问题描述】:

我在表格中查找元素时遇到了一些问题。该网站是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 是否正确?还是有更简化的方法来查找元素?

从技术上讲,我不能使用类名,因为它们会随着 Stock 的变化而变化

【问题讨论】:

    标签: java xpath selenium-webdriver


    【解决方案1】:

    你有一个错字。正确的 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?

    【讨论】:

    • ....天哪....这比想象要容易得多!太感谢了!我爱 Chrome 哈哈
    【解决方案2】:

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

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

    查找td,其文本为Market Cap (intraday)。同样,您可以对表格中的其他单元格执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-25
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      • 2021-05-07
      相关资源
      最近更新 更多