【问题标题】:Why does xpath find <ul> and <p> but not <div>?为什么 xpath 能找到 <ul> 和 <p> 而不是 <div>?
【发布时间】:2016-08-27 04:30:35
【问题描述】:

给定以下 html:

<div>
    <h4>some text</h4>
    <div>
        <ul></ul>
        <div></div>
        <p></p>
    </div>
</div>

这两个 xpath 各找到 1 个节点:

//h4[contains(text(), 'some text')]/following-sibling::div/ul
//h4[contains(text(), 'some text')]/following-sibling::div/p

但是这个返回 0 个发现。

//h4[contains(text(), 'some text')]/following-sibling::div/div

为什么第三个 xpath 也不返回 1 find?

【问题讨论】:

  • 您在哪里/如何运行 XPath?正如预期的那样,第三个 XPath 为我返回了 1 个结果:xpatheval.apphb.com/p_klroKSS
  • @har07。我不知道那个网站,谢谢。我刚刚检查了我正在使用的 selenium WebDriver。我一直在使用 HtmlUnitDriver,但是当我将其更改为 FirefoxDriver 时,找到了 div 元素。我很困惑。

标签: html xpath


【解决方案1】:

当我为正在查看的网页禁用 javascript 时,页面的 HTML 发生了变化。这为我解决了这个问题。感谢@Sebastian Zartner:

How can I get Firebug to match HtmlUnitDriver's pageSource report?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-09
    • 2021-06-28
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 2021-03-09
    • 1970-01-01
    相关资源
    最近更新 更多