如何在selenium中为包含Apostrophe(')的文本编写xpath

时间:2018-05-29 08:52:55

标签: selenium xpath

我有以下文字,我需要写x路径

请上传此所有者的ID:

这里当我用文本写x路径或包含文本时,它不会返回匹配。

{{1}}

我怀疑在所有者这个词中有一个'符号,因此没有给出正确的结果。

希望我能在这里找到解决方案

2 个答案:

答案 0 :(得分:2)

尝试使用双引号。

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

或逃脱

 //*[@text()='Please upload this owner\'s ID:']

答案 1 :(得分:0)

虽然Xml中单引号(')的转义序列为&apos;,但XPath 1.0a limitation阻止'直接在路径中使用。< / p>

此外,根据情况,您的问题要求包含搜索字符串的text属性的任何元素,例如

 <node text="Please upload this owner's ID:" />

假设没有其他text属性包含包含这两个阶段的字符串,搜索的hacky近似值为:

//*[contains(@text, 'Please upload this owner') and contains(@text, 's ID:')]

但是,如果您认为元素的text()内容需要匹配(即不是text属性):

 <node>Please upload this owner's ID</node>

然后同样的黑客将是:

//*[contains(text(), 'Please upload this owner') and contains(text(), 's ID:')]