Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
子字符串中带单引号的Selenium XPath文本搜索_Selenium_Xpath - Fatal编程技术网

子字符串中带单引号的Selenium XPath文本搜索

子字符串中带单引号的Selenium XPath文本搜索,selenium,xpath,Selenium,Xpath,我的html代码如下 <td class="summaryValRt2 summaryValDetails">Appledore Engineering v Shaw's - Dan Day_220217103442</td> 结果: 由于图元不可见,无法单击图元 我检查了它的问题,因为“文字中的字符” [text()='Appledore Engineering v**Shaw's**-Dan Day.[u 220217103442'] 有人能分享你的想法吗?试试我

我的html代码如下

<td class="summaryValRt2 summaryValDetails">Appledore Engineering v Shaw's - Dan Day_220217103442</td>
结果:

由于图元不可见,无法单击图元

我检查了它的问题,因为“文字中的字符”
[text()='Appledore Engineering v**Shaw's**-Dan Day.[u 220217103442']

有人能分享你的想法吗?

试试我在本例中使用的
[text()=“Appledore Engineering v Shaw's-Dan Day”]


或者您可以尝试使用unicode代码作为单引号,类似于
[text()=“Appledore Engineering v Shaw\u0027s-Dan Day”]

在XPath 2.0中,您可以使用反斜杠转义引号:

text()='Appledore Engineering v Shaw\'s - Dan Day_220217103442'
但是,目前大多数主流浏览器都不支持XPath2.0。在此之前,您只能使用XPath 1.0规范,该规范不支持转义字符

由于字符串仅包含单引号,因此可以改为将字符串用双引号括起来:

text()="Appledore Engineering v Shaw's - Dan Day_220217103442"
这将涵盖大多数情况,但如果搜索同时包含单引号和双引号的字符串,则会变得更加棘手

例如,假设您正在搜索以下字符串:

single'quote double"quote
您可以使用交替引号技巧使用
concat
实现这一点:

text()=concat("single'quote", ' double"quote')

请使用下面的xpath,它对我来说工作正常

//*[@class='summaryValRt2 summaryValDetails'][text()="Appledore Engineering v Shaw's - Dan Day_220217103442"]

不,它不起作用,因此与在XPath 2.0中起作用的/*[@class='summaryValRt2 summaryValDetails'][text()='Appledore Engineering v Shaw's-Dan Day22021703442']相同,但现在很多浏览器仍在使用XPath 1.0。我只使用最新版本的浏览器。你能帮我一下吗?@Ramesh你的
XPath
是在浏览器中添加元素。但是当我尝试用java语言执行这个
xpath
时,它不允许我编写它,因为您在xpath中使用了(双引号)。有关这方面的更多详细信息,请尝试使用
java
lang编写上述
xpath
脚本。您将在何时更新它?因为你的回答对我没有帮助。
//*[@class='summaryValRt2 summaryValDetails'][text()="Appledore Engineering v Shaw's - Dan Day_220217103442"]