如何使用xpath包含特殊字符

时间:2018-04-30 13:31:00

标签: c# xpath webdriver

如何选择包含""

的文本的xpath

让我说我页面上的文字是:"我的文字" (这包括"")。

当我在VS中创建xpath时:

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

但是VS并没有认为这是正确的,因为它将mytext显示为白色,好像它不属于xpath

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

那么如何创建一个xpth,使用包含文本的地方#34;"。

2 个答案:

答案 0 :(得分:1)

如果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

答案 1 :(得分:1)

答案很简单,避开双引号字符:

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

这是人物需要逃避的参考:https://blogs.msdn.microsoft.com/csharpfaq/2004/03/12/what-character-escape-sequences-are-available/

希望它有所帮助。