如何在webDriver中执行并获取res
的值
for (WebElement elems:links){
JavascriptExecutor js = (JavascriptExecutor) driver;
String script =
"function tryRecursiveSearch (node) { "+
" var child "+
" for (var i = 0; i < node.children.length; i++) { "+
" var len = node.children.length;"+
" child = node.children[i];"+
" if (child.tagName === 'A'){ "+
" return child "+
" } "+
" else { "+
" return tryRecursiveSearch (child); "+
" } "+
" } "+
"} " ;
WebElement res = (WebElement)js.executeScript("tryRecursiveSearch(argument[0])",elems); // it exits here , gives no error
System.out.println(res); //doesnt print anything
}
当我在浏览器控制台中运行JavaScript代码并传递元素时,它会正确返回a
元素
答案 0 :(得分:0)
如果需要打印Webelement的值,只需使用getText()。
System.out.println(res.getText());
或者,如果您想知道属性的值,请像这样使用getAttribute()方法。
System.out.println(res.getAttribute("href"));
上面的代码将打印href属性。同样,根据您的需要对其进行自定义。