Java 和 JS : storing results as a Java variable

标签 java javascript dom cross-browser

我正在尝试通过使用单个 url 并比较所有属性以及 2 个浏览器之间的坐标来比较浏览器差异。我知道我可以使用 document.getElementsByTagName(*); 获取所有元素,但我如何将此脚本的结果存储在 Java 变量(列表?)中。请记住,我是 JS 的新手。

其他信息:我正在使用 WebDriver 来实现 js,如下所示:

    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("var all = document.getElementsByTagName(*);");

最佳答案

List<WebElement> elements =  (List<WebElement>) js.executeScript("document.getElementsByTagName(*);");

参见 JavascriptExecutor API

  • For an HTML element, this method returns a WebElement
  • For an array, return a List with each object following the rules above. We support nested lists.

[编辑] 卡斯尔

关于Java 和 JS : storing results as a Java variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17027515/

相关文章:

Java - 根据属性在数组列表中排序

java - 关于hibernate注解的问题

javascript - 为什么 &lt;script&gt; 标签在此 PHP 页面上不起作用?

javascript - 如何选择 50 个输入并添加功能

javascript - 添加事件监听器的最佳实践(javascript、html)

java - 在 Java 中使用 XSLT 将 XML 转换为 HTML 字符串

java - 检查 ArrayList 中存储的值是否大于某个数字

javascript - Jquery .val() 不会更改 ui-autocomplete 选择处理程序上的任何内容

javascript - 你如何在 React 中设置文档标题?

javascript - 如何引用同一类中创建的事件监听器中的类?