2016-09-02 32 views
0

我試圖在「www.google.com」文本框中輸入文本,雖然它表示文本字段存在,但它不會將數據輸入到文本字段。 FF 46.0和chrome中的工作正常。在文本字段中插入文本不會發生在IE 11

下面是我的代碼

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" 
"" 

另請注意,我在後臺運行的硒樞紐和節點。當集線器和節點在前臺運行時沒有問題

我正在使用以下設置硒獨立服務器2.53.1,watir gem版本5.0.0,selenium-webdriver gem版本2.53.1,IE版本11 ,IEDriverServer_Win32_2.53.1。

回答

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部分,因爲這並沒有爲我工作,我無法找到使用回車鍵解決方法。

相關問題