Java 当web元素的文本是引号时,如何通过xpath查找这些元素?

Java 当web元素的文本是引号时,如何通过xpath查找这些元素?,java,selenium,xpath,cucumber,Java,Selenium,Xpath,Cucumber,我显示了一个html,以便: |Character|Value| | comma | , | | dot | . | | quote | ' | |doubQuote| " | 我有一个java方法和下面的代码来验证web元素是否包含一个简单的引号' 默认情况下,xpath如下所示: 字段是一个数组,其中包含字符(;”) character = fields[i]; By.xpath("//div/span[contains(text(), '" + chara

我显示了一个html,以便:

|Character|Value|
|  comma  |  ,  |
|  dot    |  .  |
| quote   |  '  |
|doubQuote|  "  |
我有一个java方法和下面的代码来验证web元素是否包含一个简单的引号
'
默认情况下,xpath如下所示: 字段是一个数组,其中包含字符
(;”)

character = fields[i];
By.xpath("//div/span[contains(text(), '" + character + "')]");
当测试运行并使用简单引号时,xpath会将引号解释为引号已关闭,而xpath不起作用

我尝试在xpath中使用双引号,但使用双引号字符时也会出现同样的问题

我找到的唯一解决方案是只为
字符创建一个条件,即当要查找的字符是双引号时使用简单引号,反之,当要查找的字符是单引号时使用双引号


还有另一个解决方法吗?

您还必须显示生成输出的HTML源代码。渲染的输出对理解您的问题毫无用处。这是一个棘手的问题。xpath 1.0中没有单引号转义,这正是selenium所使用的。我认为您提出的解决方案是可行的(除了,您唯一的特例是单报价,双报价遵循其他所有方式)