【问题标题】:XPath, nested conditionsXPath,嵌套条件
【发布时间】:2022-01-26 20:23:00
【问题描述】:

我有以下 HTML 代码,我需要一个 XPath 表达式,它可以找到表格元素。

<div>
   <div>Dezember</div>
   <div>
       <div class="dash-table-container">more divs</div>
   </div>
</div>

我当前的 Xpath 表达式:

//div[./div[1]/text() = "Dezember"]/preceding::div[./div[2][@class=dash-table-container]

我不知道如何检查dash table 容器是否是最后一个加载的,因为我有很多。所以我需要检查它是否在带有“Dezember”作为文本的 div 下,因为其他月份之前的 div 加载速度更快。 我希望 XPATH 选择“dash table container”div。 提前致谢

【问题讨论】:

  • //div[preceding::div[text()="Dezember"]]? //div[preceding::div[text()="Dezember"] and @class="dash-table-container"]?
  • 谢谢,第一个非常适合我。
  • 很高兴我的评论有所帮助。虽然它有效,但我发现zx485's answer 的表达更准确。如果对您有用,请考虑accepting 这个答案。

标签: python html selenium xpath


【解决方案1】:

要选择文字内容为“more divs”的div,可以使用

//div/div[@class="dash-table-container" and ../preceding-sibling::div[1]="Dezember"]

要选择其父 div 元素,请使用

//div[div/@class="dash-table-container"][preceding-sibling::div[1]="Dezember"]/..

【讨论】:

  • 您好,您的 XPath 表达式对我不起作用,我看到还有另一个 div 我忘了写。您能否再看一下它并告诉我必须使用什么作为 XPATH?提前致谢
  • 我更新了我的答案以处理这种新情况。希望这会有所帮助。
【解决方案2】:

我想通了。

//div[preceding-sibling::div="Dezember"]/div[@class="dash-table-container"]

非常适合我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多