【发布时间】:2019-04-02 23:05:46
【问题描述】:
我正在尝试通过 selenium 读取 angular7 应用程序中的文本工具提示。但是获取文本返回空白,而 javascript 执行程序返回 null。
Link to the image of the DOM for which I'm not able to find the xpath
但获取文本返回空白,javascript 执行程序返回 null。
这是返回空白
driver().get("https://vmware.github.io/clarity/documentation/v0.12/tooltips");
Wait(3000);
System.out.println(driver().findElement(By.xpath("(//span[@class='tooltip-content'])[2]")).getText());
这是返回 null
System.out.println(driver().findElement(By.xpath("(//span[@class='tooltip-content'])[2]")).getAttribute("value"));
String theTextIWant = ((JavascriptExecutor) driver()).executeScript("return arguments[0].innerHTML;",driver().findElement(By.xpath("(//span[@class='tooltip-content'])[2]")));
【问题讨论】:
-
不应该是("(//span[@class='tooltip-content'])[2]"),你在索引2周围少了[]
-
为什么你在 xpath 的一侧给出了圆括号
-
@LeyonGudinho ("(//span[@class='tooltip-content'])[2]) 在获取正确的文本
-
我认为您误解了,我的意思是说您的代码在您的问题中显示 [2] 为 2。
-
.getAttribute("innerHTML") 而不是 getText() 就可以了。 @DebanjanB 在答案中也提到了。请接受。
标签: angular selenium selenium-webdriver angular7 webdriverwait