【问题标题】:How to use XPath to select text with a quote character?如何使用 XPath 选择带有引号字符的文本?
【发布时间】:2018-10-10 14:44:15
【问题描述】:

如何选择包含带有“”的文本的 xpath

假设我在页面上的文字是:“我的文字”(这包括“”)。

当我在 VS 中创建 xpath 时:

"//td[contains(.,'"mytext">')]"

但是 VS 不认为这是正确的,因为它以白色显示 mytext,就好像它不属于 xpath 一样

它说这是一个语法错误,它需要一个','。

那么我怎样才能制作一个使用包含文本的“”的xpth。

【问题讨论】:

    标签: c# html xml xpath webdriver


    【解决方案1】:

    答案很简单,转义双引号:

    "//td[contains(.,'\"mytext\">')]"
    

    这是需要转义的字符的参考:https://blogs.msdn.microsoft.com/csharpfaq/2004/03/12/what-character-escape-sequences-are-available/

    希望对你有帮助。

    【讨论】:

    • 那个参考页好像坏了。
    【解决方案2】:

    如果 XPath 的上下文是 XML,则使用 " 转义双引号:

    //td[contains(.,'"mytext">')]
    

    另见:Simplified XML Escaping

    如果您的 XPat 的上下文不是 XML,您可以尝试

    //td[contains(.,concat('"','mytext', '"', '>'))]
    

    看看 VS 是否对那个表达式更满意,或者为 " 常量设置一个单独的变量,并从中分段构建您的 XPath。

    如果这对您的上下文没有帮助,请参阅 how to escape single quote in xslt substring function

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-06
      • 1970-01-01
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 2015-02-20
      • 2015-12-08
      相关资源
      最近更新 更多