【发布时间】:2017-05-12 08:57:33
【问题描述】:
我正在尝试使用 JavascriptExecutor 使用 XPath 查找文本元素。问题是文本有一个撇号,在这种情况下我不知道如何转义它。通常使用\" 就足够了。你能帮帮我吗?
我已经尝试了以下选项:
((JavascriptExecutor)driver).executeScript("var path = '//*[text()=\"d'arrivée\"]/following-sibling::div/div';
var x = document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;x.style.display='block';");`
和
((JavascriptExecutor)driver).executeScript("var path = '//*[text()=\"d\"arrivée\"]/following-sibling::div/div';
var x = document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;x.style.display='block';");`
【问题讨论】:
-
正如@Andersson 建议的那样,我必须在文本中添加 \\' 来转义撇号:
code((JavascriptExecutor)driver).executeScript("var path = '//*[text ()=\"d \\'arrivée\"]/following-sibling::div/div'; var x = document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).ssingleNodeValue;x.style。显示='块';");`
标签: javascript xpath selenium-webdriver apostrophe