gpt4 book ai didi

java - 如何通过selenium Java API读取DOM对象的属性?

转载 作者:行者123 更新时间:2023-12-01 17:23:10 25 4
gpt4 key购买 nike

我需要通过 selenium Java API 读取 DOM 对象的一些属性。我将通过示例解释我的要求。

首先我想找到 <g> Chrome 开发者工具中突出显示的元素(如下所示)。我可以通过 Selenium Java API 使用以下代码轻松完成此操作。

WebElement gElement = driver.findElement(By.xpath("//*[@data-id='node_grp_0_id52UVV33EHE7']"));

然后我想读一下这个 <g> 的几个属性通过 Selenium Java API 的对象。所以,我点击这个<g> Chrome 开发者工具中的元素并打开 Properties查看Chrome开发者工具的右侧(如下所示),以找到各种属性的路径。找到路径后,我现在想通过 Selenium Java API 读取其中几个属性(例如 ariaChecked__data__.label ),如下所示:

gElement.getAttribute("ariaChecked");
gElement.getAttribute("__data__.label");

上述两行代码均返回 null。

以下代码也不会返回所需的属性值:

element.getCssValue("ariaChecked");
element.getCssValue("__data__.label");

有谁知道如何通过 selenium Java API 读取 DOM 对象的各种属性(在 Chrome 开发者工具的“属性” View 中列出,如下所示)?

提前致谢!

enter image description here

最佳答案

我找到了一种通过 Java 脚本读取 Web 元素属性的解决方法,如下所示。此解决方法还支持嵌套属性:

public String getProperty(final String name) {
return getJavascriptExecutor().executeScript("return arguments[0]." + name + ";", webElement).toString();
}

上面的方法可以调用如下:

String name = getProperty("name");

String label = getProperty("__data__.label"); // This is a nested property.

关于java - 如何通过selenium Java API读取DOM对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61252889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com