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

Selenium中含撇号文本的XPath编写问题求助

解决XPath匹配含单引号文本的问题

嗨,这个问题我之前也踩过坑!确实是owner's里的单引号搞的鬼——当你用单引号包裹XPath的文本字符串时,解析器会把文本里的单引号当成字符串的结束标记,导致匹配失败。给你几个实用的解决方案:

  • 转义单引号(XPath原生方式)
    在XPath的单引号字符串中,用两个连续的单引号表示一个实际的单引号,这样就能避免解析错误。示例:

    //strong[text()='Please upload this owner''s ID:']
    

    如果用contains()的话,同样适用:

    //strong[contains(text(), 'Please upload this owner''s ID:')]
    
  • 用双引号包裹文本字符串
    如果你的代码环境允许(比如大部分编程语言和自动化测试框架都支持),可以用双引号把要匹配的文本括起来,这样里面的单引号就不会造成冲突了。示例:

    //strong[text()="Please upload this owner's ID:"]
    

    对应的contains()写法:

    //strong[contains(text(), "Please upload this owner's ID:")]
    
  • 优化定位精度(可选)
    因为目标文本在<strong>标签内,且父元素是<p>,你可以更精准地定位元素,减少匹配到无关元素的概率:

    //p/strong[text()='Please upload this owner''s ID:']
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:45:11