在Selenium中逃脱撇号

时间:2016-09-20 18:17:15

标签: java selenium xpath escaping

我试图逃避Selenium中的撇号。

下面的示例文字
<a title="My Day's Schedule"></a>

我正在尝试使用//a[contains(@title , 'My Day's Schedule')]搜索此元素,但这不起作用,因为撇号未被转义。 试过各种方法,比如使用双引号来逃避撇号/使用java转义字符;但XPath无法识别元素

任何指针?

由于

3 个答案:

答案 0 :(得分:2)

在要逃脱的标志前使用\之类的反斜杠。

如果你有时候不想逃避,你也可以使用以下部分属性: //a[contains(@title, 's Schedule')]

或逃脱:
//a[@title='My Day\'s Schedule']

作为替代方案,您还可以使用其他属性,例如href而不是title

  

提示:仅在给出字符串的一部分时使用contains,否则使用@attribute =&#39; string&#39;

答案 1 :(得分:1)

为什么我们不在这里使用css。?

尝试使用以下内容指定锚点的标题应以&#39; Schedule&#39;

结尾

CSS选择器:     a [title $ =&#39; Schedule&#39;]

即使您想使用xpath表达式,请使用以下

xpath:

  • 方法#1:

    By.xpath(&#34; // a [contains(@title,\&#34; My Day&#39; s&#34;)]&#34;)

  • 方法#2:

    By.xpath(&#34; // a [@title = \&#34; My Day&#39; s#34;]&#34;)

答案 2 :(得分:0)

我刚试过这个并且有效。

"//a[@title=\"My Day's Schedule\"]"