【问题标题】:XPath: Get following-sibling based on text() onlyXPath:仅基于 text() 获取以下兄弟姐妹
【发布时间】:2016-01-12 13:11:57
【问题描述】:

使用相对XPathSelenium,有没有办法以两个兄弟的文本内容为指导来获取following-sibling的文本内容?

<table class="table">
    <tbody>
        <tr>
            <td>Looking for</td>
            <td class="text-right">This!</td>
        </tr>
    </tbody>
</table>

在上面的例子中,我想根据文本Looking for检索文本sn-p This!

路径必须是相对,因为这些表格单元格可以出现在页面的任何位置。以上是完整网页的截图。之前还可以在同一个 &lt;tr&gt; 块中插入其他内容。

我试过这个似乎找到了第一个单元格:

//text()[contains(.,'Looking for')]

但是,我正在努力解决如何继续获取 2nd 兄弟中的文本。

我的尝试看起来像(错误地):

//text()[contains(.,'Looking for')]/following-sibling::text()

【问题讨论】:

    标签: xml selenium xpath


    【解决方案1】:

    你几乎是对的,你去吧,你只需要显示你想要寻找的确切位置。我希望这会有所帮助:

    //td[text()="Looking for"]/following-sibling::td[text()="This!"]
    

    【讨论】:

    • 谢谢!像魅力一样工作。
    • @Winterflags 和你一样 :)
    【解决方案2】:

    您还可以使用以下方法查找第二个兄弟:

    //table[@class='table']/descendant::td[last()]
    

    要查找第一个兄弟,可以使用以下方法:

    //table[@class='table']/descendant::td[last()-1]
    

    【讨论】:

      【解决方案3】:

      你可以使用,

      //td[contains(text(),'Looking for')]//following-sibling::td[contains(text(),'This!')]
      

      更多关于兄弟和祖先的参考click here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多