【发布时间】:2019-04-03 05:38:23
【问题描述】:
我正在尝试运行我编写的 javascript 函数,以通过 xpath(requirement) 收集 HTML 站点的所有 cmets。
粘贴在浏览器中的函数,ofc。没有'return'语句,工作得很好。
但是当通过 selenium 'javascriptexecutor' 执行时,它会返回一个空数组。
我知道您必须将 javascript 语句放入“code”+ 表单中,但为了便于阅读,我将代码格式化如下。
我希望有人可以帮助我:)
ChromeDriver driver = new ChromeDriver();
String url = "AprivateSamplePage";
driver.get(url);
JavascriptExecutor js = (JavascriptExecutor) driver;
String text = (String) js.executeScript("return nodes =[];
xPathResult=document.evaluate('//comment()',document,null,XPathResult.ANY_TYPE, null);
nodes =[];
node = xPathResult.iterateNext();
while (node) {nodes.push(node.textContent);
node = xPathResult.iterateNext();}nodes;").toString();
System.out.print(text);
输出看起来像这样:
Only local connections are allowed.
Okt 30, 2018 8:56:07 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFORMATION: Detected dialect: OSS
[]
Process finished with exit code 0
【问题讨论】:
-
发布代码时,请花一点时间使用beautifier.io等美化工具,让代码更容易阅读和理解。
-
@JeffC 谢谢,不知道这个以后会用这个。
标签: javascript java selenium selenium-webdriver xpath