![](/img/trans.png)
[英]How to type special characters (@) using send_keys in watir-webdriver?
[英]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]
將毫無意義,除非您的表行僅對按下鍵盤上的同一鍵做出了響應……這將是一個奇怪的表。 只是一個猜測而已。
我的系統:
如果您可以控制系統,請考慮升級Ruby,Firefox和gem。 有證據支持這種觀點,即更新具有不同版本,但此處破壞了向后兼容性 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.