javascript - 如何在 Selenium 中使用 JavaScript 检查输入是否被禁用

标签 javascript input selenium

我正在使用 selenium 为 webapp 构建和自动化测试脚本,我正在尝试使用 waifForCondition API 的函数,它将等待 JS 脚本的计算结果为 true

我目前在页面上有这个来源:

<input id="modifyHostsForm:idDnsIp0_0" type="text" name="modifyHostsForm:idDnsIp0_0" readonly="" disabled="">

应更改为:

<input id="modifyHostsForm:idDnsIp0_0" type="text" name="modifyHostsForm:idDnsIp0_0">

一旦我将某个值放在另一个字段上并在其上触发“模糊”事件(并且该字段因此变为“启用”)。

我正在尝试执行以下 JS 脚本来测试何时启用此字段(基本上是我从“谷歌搜索”中找到的内容):

document.getElementbyId('modifyHostsForm:idDnsIp0_0').disabled == false

但是,我得到了一个 SeleniumException,表明“对象不支持此属性或方法”。我可以在这里做什么?任何帮助将不胜感激。

最佳答案

经过调查,我找到了答案。我在这里记录它以防有人使用它。

我在 FireBug 控制台中运行我的问题代码并且它工作正常;然而,在执行我的脚本时,我一直收到 SeleniumException

原来需要用selenium.browserbot.getCurrentWindow()让 RC 在您使用的主窗口而不是弹出的控制窗口上执行 JS 脚本。

因此,我实际需要评估的 JS 代码最终是这样的:

selenium.browserbot.getCurrentWindow().document.getElementById('modifyHostsForm:idDnsIp0_0').disabled == false

效果很好。感谢其他提示。

关于javascript - 如何在 Selenium 中使用 JavaScript 检查输入是否被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5465615/

相关文章:

javascript - 如何根据前一个复选框显示一组复选框

javascript - 如何使用 Jest 模拟 native javascript 方法?

Java 扫描仪和字母 åäö

html - 填满 1 行上的所有内容

selenium - 使用 Selenium IDE 选择 Kendo 下拉列表

javascript - 从 Google 跟踪代码管理器中提取标签

javascript - onClick react 问题

html - 我的输入和标签不是内联的

java - 如何修复 Selenium Webdriver 异常 ElementNotVisibleException?

python - Selenium Chrome 驱动程序无法在 Pi Zero 上运行,错误代码为 -4