簡體   English   中英

用firefox在watir webdriver中的send_keys

[英]send_keys in watir webdriver with firefox

我正在將ruby 1.8.7和watir webdriver 0.6.4與firefox 22一起使用。我想一次在一個表中選擇兩行,但是send_keys(:control)無法正常工作。 我已經嘗試了所有在下面的鏈接提供的解決方案,但他們沒有工作在這里的問題

她是我的代碼段:

方法1:

while (element > 0)
 element -= 1
 $browser.send_keys :control
 $browser.table(:id => "proposedConfigs").tr(:id ,"proposedConfigs__#{element}").click
end

方法2:

while (element > 0)
 element -= 1
 $browser.send_keys [:control,:arrow_down]
 $browser.table(:id => "proposedConfigs").tr(:id ,"proposedConfigs__#{element}").click
 $browser.send_keys [:control, :arrow_up]
end

方法3:

$browser.send_keys :control (or)  $browser.element.send_keys :control 
$browser.table(:id => "proposedConfigs").tr(:id ,"proposedConfigs__0").click
$browser.table(:id => "proposedConfigs").tr(:id ,"proposedConfigs__1").click

結果:以上所有元素僅選擇一個

方法4:

$browser.table(:id => "proposedConfigs").tr(:id ,"proposedConfigs__#  {element}").click(:control)

結果:

Selenium::WebDriver::Error::InvalidElementStateError: Cannot perform native interaction:
Could not load native event's component.

但是使用Firefox 22,本機事件已被禁用。

當我試圖

$browser.send_keys [:control,:key_down]
$browser.send_keys [:control,:press_down]

結果:

these methods are not available

當我嘗試:

$browser.send_keys[:control].send_keys[:arrow_up]

結果:

NoMethodError: undefined method `send_keys' for nil:NilClass

沒有更多信息,我無法復制您的結果。 在我的系統上,這很好用:

require 'watir-webdriver'
require 'headless'
h = Headless.new
h.start
b = Watir::Browser.new
b.goto 'http://www.google.com'
b.span(:id => 'gbqfsa').click(:control) # => [] 

請注意,我給上面的“控制”信號的方式是規范的方式 ,據我可以告訴發送帶有按鍵的點擊。 我最好的猜測是,單獨發送密鑰意味着密鑰會立即釋放。 因此b.element.send_keys [:control]將毫無意義,除非您的表行僅對按下鍵盤上的同一鍵做出了響應……這將是一個奇怪的表。 只是一個猜測而已。

我的系統:

  • 紅寶石2.0.0p247(2013-06-27修訂版41674)[i686-linux]
  • watir-webdriver(0.6.8)
  • 無頭(1.0.1)
  • Mozilla Firefox 24.2.0
  • CentOS版本6.5(最終版)

如果您可以控制系統,請考慮升級Ruby,Firefox和gem。 證據支持這種觀點,即更新具有不同版本,但此處破壞了向后兼容性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM