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

如何使用XPath查找包含含Unicode文本的网页元素?

解决XPath匹配带方向控制字符文本的问题

问题根源在于:浏览器解析HTML时,会把‪、‬、‏这类实体转换成对应的Unicode控制字符(分别是U+202A左至右嵌入、U+202C弹出方向格式化、U+200F右至左标记),而你用原始实体字符串写的XPath,自然匹配不到解析后的实际文本内容。

给你两种可行的解决方法:

方法一:直接用解析后的Unicode字符匹配

直接把包含控制字符的目标文本写入XPath,比如:

//*[contains(text(), '‪Dansk‬‏')]

注意:输入时要确保控制字符完整保留,有些编辑器可能自动过滤这类不可见字符,建议直接复制你提供的"‪Dansk‬‏"文本到XPath中。

方法二:过滤控制字符后匹配可见文本

如果担心控制字符输入或保存时丢失,可以通过translate()函数移除这些不可见字符,只匹配可见的"Dansk":

//*[normalize-space(translate(text(), '‪‬‏', '')) = 'Dansk']

这里的translate()会把文本中的U+202A、U+202C、U+200F三个控制字符替换为空,再用normalize-space()处理空格后,匹配纯文本"Dansk"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 19:45:56