【问题标题】:How to write XPath for multiple sibling of div tag如何为 div 标签的多个兄弟编写 XPath
【发布时间】:2020-04-09 13:23:40
【问题描述】:

我正在为以下代码编写 XPath:

<div class="line info">
        <div class="unit labelInfo TextMdB">First</div>
        <div class="unit lastUnit">
                <div class="line TextMd">Second</div>

如何通过使用同级概念的第一个 div 标签到达第二个 div 标签? 我像这样写了我的 XPath:

//div[contains(text(), 'First')]/following-sibling::div[2][contains(text(),'Second')]

但它不起作用。 如何使用“第一个”div 标签到达“第二个”? 感谢您的帮助。

【问题讨论】:

    标签: html css selenium xpath


    【解决方案1】:
    //div[contains(text(), 'First')]/following-sibling::div[2]
    --------------------------------------------------------^
    

    此时没有第二个“跟随兄弟”。包含文本'Second'&lt;div&gt;div.unit.lastUnit

    这意味着

    //div[contains(text(), 'First')]/following-sibling::div[1]/div[contains(text(),'Second')]
    

    另一种不太依赖文档结构的方法是说“我想要包含'Second' 文本的&lt;div&gt; 后面的第一个”

    (//div[contains(text(), 'First')]/following::div[contains(text(),'Second')])[1]
    

    但这可能会返回您不想要的结果,正是因为它不太关注文档结构。

    【讨论】:

    • 谢谢你..它的工作。我正在学习硒。如何掌握寻找 xpath 的方法。
    • @siri 就像其他一切一样 - 这需要大量练习。 :)
    猜你喜欢
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2021-07-02
    • 2019-10-29
    • 2015-01-24
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多