2016-09-20 135 views
0

我想逃避硒中的撇号。下面硒逃脱撇号

<a title="My Day's Schedule"></a> 

示例文本,我试图寻找使用//a[contains(@title , 'My Day's Schedule')]这个元素,但是这不会起作用,因为撇号没有逃脱。 尝试了各种方法,例如使用双引号来逃避撇号/使用java转义字符;但XPath无法识别元素

任何指针?

感谢

+0

使用反斜杠\ – lauda

回答

1

你想逃离迹象之前,使用像\一个反斜杠。

如果你有时候不想那么逃到多,你也可以像使用属性的一部分:
//a[contains(@title, 's Schedule')]

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

正如你也可以使用其他的其他属性如href而不是title

提示:使用包含字符串时,才给予部分,否则使用@属性=“串”

+0

我尝试使用反斜杠来转义撇号;但这似乎并不奏效。这与您建议的第二种选择类似;不确定是否必须在字符串的开始和结尾处避免单引号也 我的href具有不同的属性;所以不能将其基于任何其他元素 – Vivek

+0

您只需要从中间转义',完全如第二个选项 – lauda

+0

所示。转义的XPath实际上不起作用。我只是试了一下。 – JeffC

1

我们为什么不使用CSS来?

尝试使用其指定锚的标题应以“日程”

CSS选择器结束如下: 一个[标题$ =“日程”]

即使你想去与XPath表达式,那么请使用以下

的XPath:

  • 方法#1:

    By.xpath( “//一个[含有(@title,\” 我的一天的时间表\ “)]”)

  • 方法#2:

    By.xpath( “//一个[@title = \” 我的一天的时间表\ “]”)

+0

让我知道,如果这个工程,并接受答案关闭此线程 – FayazMd

+0

也让我们知道,如果这不起作用,把替代解决方案 – FayazMd

1

我刚测试过它,它工作。

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