Arg*_*ote 8 javascript selenium input
我正在使用selenium为webapp构建和自动化测试脚本,我正在尝试使用API 的waifForCondition函数,它将等待JS脚本求值true.
我目前在页面上有这个来源:
<input id="modifyHostsForm:idDnsIp0_0" type="text" name="modifyHostsForm:idDnsIp0_0" readonly="" disabled="">
Run Code Online (Sandbox Code Playgroud)
哪个应改为:
<input id="modifyHostsForm:idDnsIp0_0" type="text" name="modifyHostsForm:idDnsIp0_0">
Run Code Online (Sandbox Code Playgroud)
只要我在另一个字段上放置一个值并在其上触发"模糊"事件(此字段因此变为"启用").
我正在尝试执行以下JS脚本来测试何时启用此字段(基本上是我从"Google搜索"中找到的):
document.getElementbyId('modifyHostsForm:idDnsIp0_0').disabled == false
Run Code Online (Sandbox Code Playgroud)
但是,我得到一个SeleniumException表明"对象不支持此属性或方法".我能在这做什么?任何帮助,将不胜感激.
在调查之后我找到了答案.我在这里记录它,以防有人使用它.
我在FireBug控制台中运行我的问题代码,它运行正常; 然而,在执行我的剧本时,我一直得到SeleniumException.
事实证明,您需要使用selenium.browserbot.getCurrentWindow()RC在您正在使用的主窗口上执行JS脚本,而不是弹出的控制窗口.
因此,我实际需要评估的JS代码最终是这样的:
selenium.browserbot.getCurrentWindow().document.getElementById('modifyHostsForm:idDnsIp0_0').disabled == false
Run Code Online (Sandbox Code Playgroud)
哪个工作得很好.谢谢你的其他提示.
尝试
document.getElementById('modifyHostsForm:idDnsIp0_0').getAttribute('disabled') == false
Run Code Online (Sandbox Code Playgroud)
您可能需要设置变量,然后检查它是否已设置或为null,因此:
var isDisabled = document.getElementById('modifyHostsForm:idDnsIp0_0').getAttribute('disabled')
Run Code Online (Sandbox Code Playgroud)
然后条件成为:
isDisabled == null || isDisabled == false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41488 次 |
| 最近记录: |