You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用XPath的contains获取目标文本节点?求助解决方法

问题解决方法

错误原因

你之前的XPath用了//div[@id="FNA_envelop"]/*,这个语法是选取div的子元素节点,但包含"Min Deng"的内容是div的直接文本节点(不属于任何子元素),所以匹配不到目标内容。

正确XPath写法

1. 定位包含"Deng"的文本节点

//div[@id="FNA_envelop"]/text()[contains(.,"Deng")]

这里用text()直接选取div下的所有文本节点,再通过contains(.,"Deng")筛选出包含目标字符串的节点。

2. 获取该文本节点后续的a标签

利用XPath的following-sibling轴,找到紧跟在目标文本节点后的第一个a标签:

//div[@id="FNA_envelop"]/text()[contains(.,"Deng")]/following-sibling::a[1]

3. 提取关联邮箱

可以直接提取a标签的data-email属性(比文本更准确):

//div[@id="FNA_envelop"]/text()[contains(.,"Deng")]/following-sibling::a[1]/@data-email

或者提取a标签的文本内容:

//div[@id="FNA_envelop"]/text()[contains(.,"Deng")]/following-sibling::a[1]/text()

内容的提问来源于stack exchange,提问作者JBJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 08:15:43