警报正在打印
[object]
而不是价值
elemID
每次迭代。
for (WebElement el : listOfElem){
String elemID = el.getAttribute("id");
Javascriptexecutor js = (Javascriptexecutor) driver;
String strg = (String) js.executeScript("alert("+elemID+");");
}
我还尝试了下面的代码:
String strg = (String)js.executeScript("alert("+elemID+");").toString();
这个指纹
[对象]
也(只是一个注释:使用
toString()
打破循环,不知道为什么)
如何打印的值
埃莱米德
在每次迭代中?
如果我打印
埃莱米德
在JavaScript之外,它打印值,但我希望它在JavaScript内部。
编辑:
如果我做了
for (WebElement el : listOfElem){
String elemID = el.getAttribute("id");
System.out.println(elemID);
Javascriptexecutor js = (Javascriptexecutor) driver;
String strg = (String) js.executeScript("alert("+elemID+");");
System.out.println(strg);
}
它正确地打印出第一个系统的值。但是其余的迭代都会打印出来
null
如果我按照评论中的建议使用以下内容
String strg = (String) js.executeScript("console.log("+elemID+");");
在上面编辑的代码中
它打印出值(1st Sys.out),就是它,然后它中断循环并输出。