我试图逃避Selenium中的撇号。
下面的示例文字<a title="My Day's Schedule"></a>
我正在尝试使用//a[contains(@title , 'My Day's Schedule')]
搜索此元素,但这不起作用,因为撇号未被转义。
试过各种方法,比如使用双引号来逃避撇号/使用java转义字符;但XPath无法识别元素
任何指针?
由于
答案 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\"]"