Rya*_*yan 2 ruby firefox selenium
我已经看过这个,但没有运气.
我试过这个例子,它说undefined browserbot,我也尝试过这个简单:
@browser.navigate.to "http://example.com"
@browser.execute_script("$('#hiddenthing').val('foo bar')")
Run Code Online (Sandbox Code Playgroud)
这根本不起作用,如果我试图设置没有javascript的值,它说you can't interact with hidden elements.
有什么建议?
Selenium WebDriver无法与隐藏元素交互,它只能找到它们.如果您尝试在隐藏元素上进行任何基于用户的交互,您将收到上面看到的错误.
这是因为创建SWD是为了模拟用户可以直接执行的操作(除了少数例外).能够与隐藏元素互动不属于社署范围.
但是,SWD确实能够将任何javascript注入到浏览器的DOM中(这使得处理这些类型的需求更加合理,如果有点困难的话).
通过执行javascript尝试这两种方式(正如您从链接的上述线程中看到的那样).请记住,它需要使用return命令:
@browser.execute_script("return document.getElementById('hiddinthing').value = 'foo';")
Run Code Online (Sandbox Code Playgroud)
或者如果你有jQuery
@browser.execute_script("return $('#hiddenthing').val('foo');")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6235 次 |
| 最近记录: |