【问题标题】:Select element by sibling content按兄弟内容选择元素
【发布时间】:2016-05-25 16:45:11
【问题描述】:
<p>
    <strong>
        <span>Content</span>
    </strong>
</p>

<table>

</table>

如图所示,table 元素是我要选择的目标,而我唯一可以确定的是其前一个兄弟元素中的文本 Content 不会改变。

那么是否可以通过css或xpath根据Content选择table

【问题讨论】:

  • 对这篇文章投了反对票的人,你能站出来给我一个理由吗?我不认为这个问题违反了科幻指南。
  • 我没有投反对票,但一些可能的动机可能是: 1. 到目前为止,您没有显示任何尝试的 XPath 来解决问题(选择目标元素)。 2. 从某种意义上说,图像不如文本有用,如果他想在发布答案之前测试他的 XPath 以确保它可以正常工作,则需要重新输入图片中显示的所有内容。
  • 我已经在图片下面解释了,而且我为什么用图片是我不擅长英语,所以我怕别人看不懂我。对于尝试,我真的不知道如何开始。不过,还是谢谢你。 :)
  • 当然,不客气。顺便说一句,您无需精通英语即可将 HTML 作为文本发布 :)

标签: xpath css-selectors


【解决方案1】:

有一些 XPath 的变体可以找到相同的 table 元素,即使只考虑那个小的 HTML sn-p。就个人而言,我可能会使用以下之一:

//p[normalize-space()='Content']/following-sibling::table[1]

//p[strong/span/span='Content']/following-sibling::table[1]

//span[text() = 'Content']/following::table[1]

【讨论】:

    【解决方案2】:

    一个可能的答案是: //table[preceding::span[text()='Content']]

    preceding 轴名称选择文档中出现在当前节点之前的所有节点,除了祖先、属性节点和命名空间节点,而 text() 允许指定内容的条件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-13
      • 2015-01-14
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      • 1970-01-01
      • 2016-08-26
      相关资源
      最近更新 更多