在IE 11中不会在文本字段中插入文本

时间:2016-09-02 06:57:37

标签: ruby internet-explorer selenium internet-explorer-11 watir

我正在尝试将文字输入到www.google.com'的文本框中。虽然它表示文本字段存在,但它不会将数据输入文本字段。这同样适用于FF 46.0和chrome。

以下是我的代码

require 'rubygems'
require 'watir'

browser = Watir::Browser.new(:ie)
browser.goto('www.google.com')

browser.wait_until(60) {
    browser.div(:id, 'sb_ifc0').present?
}
if browser.div(:id, 'sb_ifc0').present?
    p 'search bar'
end

if browser.input(:class, 'gsfi').present?
    p 'input present'
    browser.text_field(:class, 'gsfi').set('watir')
    p browser.text_field(:class, 'gsfi').value        
    browser.send_keys :enter
end

ie浏览器的输出如下

"search bar"
"input present"
""

另请注意,我在后台运行selenium hub和节点。当集线器和节点在前台运行时没有问题

我正在使用以下设置selenium独立服务器2.53.1,watir gem版本5.0.0,selenium-webdriver gem版本2.53.1,IE版本11,IEDriverServer_Win32_2.53.1。

1 个答案:

答案 0 :(得分:0)

http://www.google.com上,输入框为<input name="q" ... >且没有class,因此watir无法找到它。

text_field查询更改为使用name代替:

require 'rubygems'
require 'watir'

browser = Watir::Browser.new 
browser.goto('www.google.com')

browser.text_field(:name => 'q').set('watir')
browser.button(:type => 'submit').click

p browser.url

我还必须更改send_keys :enter部分,因为这对我不起作用,而且我无法使用输入按钮找到解决方法。