如何在Xpath中使用R selenium给出带有特殊字符的字符串输入


result <- z$findElement(using = 'xpath',"//*[contains(text(),'the deal” of hosting major sporting')]")  

在上面的命令中,参考字符串有特殊字符处理,因此R给出的错误为

错误:Summary: NoSuchElement
详细信息:使用给定的搜索参数无法在页面上找到元素。
类:org.openqa.selenium.NoSuchElementException而是在特定URL中找到的引用元素。

我认为问题在于你的'contains'语法和双引号的使用。检查下面正确的语法:

[text()[contains(.,'the deal of hosting major sporting')]]

得到的错误也意味着该元素在检查时不存在。发生这种情况的原因有很多。最常见的两个是:1)你检查得太早(即应该引入等待而不是延迟)。

wait.until(ExpectedConditions.elementToBeClickable(By.id<locator>));

2) xpath是错误的(很有可能)。注意到你正在使用//*,这意味着任何节点,据我们所知,你可以指向多个元素。如果你想要一个更具体的xpath答案,请张贴一个屏幕截图的html代码的元素,你正试图找到。但我将在下面做一个有根据的猜测:

(你的方式改进了没有")

findElement(using = 'xpath',"//*[contains(text(),'the deal of hosting major sporting')]");

,如果这不起作用,就这样做:

findElement(using = 'xpath',"//*[text()[contains(.,'the deal of hosting major sporting')]]");
祝你好运!

最新更新