使用 xpath 选择包含标签的文本

皮特

我需要选择包含<a>带有 xpath 标签的文本,但我想不出正确的方法来做到这一点。结果应该是“图片说明和链接”。并且应该保留锚链接。

<p class="caption"><img src="..."> 
Image Caption <a href="...">And A Link</a>.
</p>

我尝试的最后一个表达是跟随,

//*[preceding-sibling::img]

但无论我怎么做,我要么只选择外部<a>标签,要么只选择标签中的文本

托马拉克

你不能选择不存在的东西。"Image Caption And A Link."此 HTML 中不存在。

<p class="caption"><img src="..."> 
Image Caption <a href="...">And A Link</a>.
</p>

你能得到的最好的是一个单独节点的列表 - 看起来你希望所有节点都在 a 中,p.caption除非它是img. 这会起作用:

//p[contains(@class, 'caption')]/node()[not(self::img)]

并返回三个节点:

['\nImage Caption ', <a href="...">And A Link</a>, '.\n']

为了防止由于部分匹配而导致 CSS 类中的匹配误报,请使用

//p[contains(concat(' ', @class, ' '), ' caption ')]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 Xpath 选择带有多个空兄弟标签的文本

使用XPATH 1.0和包含特定文本的xmlstarlet选择节点

如何使用xpath和python提取包含不需要的BR标签的标签之间的文本?

如何使用xpath选择不包含链接但包含特定文本的节点

无法使用 Xpath (rvest) 选择标签的 href

使用XPath抓取特定标签的文本

使用XPath从孙子获取文本并包含功能

XPath使用类名并包含文本

如何使用Scapy的XPath选择所有子文本,但不包括标签?

如何使用 selenium IDE 查找文本包含的 xpath 并选择该行中的复选框

使用 Selenium、python 和 Xpath 在包含特定文本的表格行中选择特定按钮

使用XPath通过文本选择单选按钮

如何使用xpath选择文本最长的节点?

使用包含空格的 xpath

获取指向包含某些文本的标签的xpath

使用XPath选择节点

使用Xpath提取文本

在Python的Xpath中的标签之间选择文本

XPath选择仅包含文本的元素

Selenium/Xpath 选择包含文本的选项

xpath:如何使用xpath获取特定的文本?

Xpath:获取包含其他标签的标签内的文本

使用xpath获取文章文本,但省略一些标签

使用带有标记的XPath提取标签之间的文本

使用 XPath,如何在标签后精确定位文本?

如何使用 xpath 获取 selenium 标签上的文本?

如何使用xpath提取多个标签的html脚本中的文本

使用 Scrapy 选择包含特定属性的所有 Div 的 XPATH

如何使用XPath选择包含空元素的父元素?