java - 使用 Selenium 提取 DOM 属性值

标签 java dom selenium-webdriver

在 Firebug 和其他 DevTools 中,您可以获得与 HTML 元素相对应的 DOM 属性和值。

如何使用 selenium-java 代码提取这些值? 我试过getAttribute() ,但它似乎仅适用于 HTML 属性,不适用于“值”或“拼写检查”等 DOM 属性。

我采用这种方法的原因是与 <input> 关联的值。文本字段(下面的片段)是运行时生成的,并且使用 Knockout 将数据绑定(bind)到它。因此不可能使用像 getText() 这样的标准方法来捕获它们。 , getAttribute("value") , getAttribute("text") , getAttribute("innerHTML") , getAttribute("innertext")

HTML 元素的 HTML 片段:

<input class="form-control" type="text" style="cursor: text" readonly="readonly" data-bind="textInput: url">

Firebug's DOM panel displaying DOM properties of an <input> element

最佳答案

我知道这是一个老问题,但它可能会给其他人带来帮助

在控制台中使用它

$$("input.form-control").value

如果它返回所需的内容,您将必须使用 WebDriver 执行 Javascript,即

driver.ExecuteScript("var data = arguments[0].value; return data;", (Element as RemoteWebElement)

关于java - 使用 Selenium 提取 DOM 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36695052/

相关文章:

javascript - 我需要更改什么才能将我的 jQuery 查找功能转换为 mootools?

java - 无法使用 Selenium 获取文本

python - bs4 在给定标签的所有属性中搜索一个词

clojure 中的 java.lang.ClassNotFoundException : java. util.Base64 错误

Javascript/PHP 显示 id 或名称对象

java - 在 OnCreate 中定义按钮 - 无法解析方法中的符号

javascript - 为什么使用 DOM 添加到 HTML 标签时字符串会发生变化

python - 使用 python selenium 打开多个页面

java - 方法返回可运行对象

java - libGDX And​​roid sdk 工具