右键单击某个元素时出现 "uninitialized constant Selenium::WebDriver::DriverExtensions::HasInputDevices (NameError)" 错误

When right clicking on an element I get an "uninitialized constant Selenium::WebDriver::DriverExtensions::HasInputDevices (NameError)" error

将我的所有 ruby gem 包括 watir-webdriver 升级到最新的 v0.9.9当我的脚本试图右键单击一个元素时出现以下错误

下面是执行我在导入选项卡步骤

中右击第1层的代码
def select_layer_import_tab(layer_num)
  layer_index = (layer_num.to_i - 1)
  @browser.divs(:class => "legend")[layer_index].img.click
  @browser.divs(:class => "legend")[layer_index].img.right_click    <--------------------- error happens here ------------
end

这是我的 gem 列表版本 之前 升级:

* 本地宝石 *

大十进制 (1.2.0) 生成器 (3.2.2) 捆绑器 (1.10.6) 捆绑卸载(1.0.2) 子进程 (0.5.8, 0.5.7) chunky_png (1.3.5) 黄瓜 (2.1.0) 黄瓜核心 (1.3.0) data_magic (0.21) 差异 lcs (1.2.5) 可执行挂钩 (1.3.2) 伪造者 (1.6.1) ffi (1.9.10) gem-包装器 (1.2.7) 小黄瓜 3 (3.1.2) 无头 (2.2.0) 国际化 (0.7.0) io 控制台 (0.4.2) json (1.7.7) 迷你测试 (4.3.2) multi_json (1.11.2) multi_test (0.1.2) oily_png (1.2.0) 页面对象 (1.1.0) page_navigation (0.9) 心理 (2.0.0) 耙 (10.4.2, 0.9.6) 文档 (4.0.0) require_all (1.3.3) rspec (3.4.0) rspec-核心 (3.4.1) rspec-期望 (3.4.0) rspec-模拟 (3.4.0) rspec-支持 (3.4.1) rubygems-捆绑器 (1.4.4) rubyzip (1.1.7) rvm (1.11.3.9) 硒网络驱动程序 (2.48.1) 测试单元 (2.0.0.0) 测试生成器 (0.8.7) 雷神 (0.19.1) watir-webdriver (0.9.1) 网络套接字 (1.2.2) 码 (0.8.7.6) yml_reader (0.5)

这是我的 gem 列表版本 post 升级:

* 本地宝石 *

大十进制 (1.3.2, 1.2.0) 生成器(3.2.3、3.2.2) 捆绑器(1.15.2、1.10.6) 捆绑卸载(1.0.2) 子进程(0.7.1、0.5.8、0.5.7) chunky_png (1.3.8, 1.3.5) connection_pool (2.2.1) 黄瓜 (2.4.0, 2.1.0) 黄瓜核心 (1.5.0, 1.3.0) 黄瓜线 (0.0.1) data_magic (1.0, 0.21) 差异 lcs (1.3, 1.2.5) 可执行挂钩 (1.3.2) 伪造者 (1.6.1) ffi (1.9.18, 1.9.10) gem-包装器(1.3.0、1.2.7) 小黄瓜 (4.1.3) 小黄瓜 3 (3.1.2) 无头(2.3.1、2.2.0) 国际化 (0.8.6, 0.7.0) io 控制台(0.4.6、0.4.2) json (2.1.0, 1.7.7) 迷你测试(5.10.2、4.3.2) multi_json (1.12.1, 1.11.2) multi_test (0.1.2) oily_png (1.2.1, 1.2.0) 页面对象 (1.1.0) page_navigation (0.10, 0.9) power_assert (1.0.2) 心理 (2.2.4, 2.0.0) 耙子(12.0.0、10.4.2、0.9.6) rdoc (5.1.0, 4.0.0) require_all (1.4.0, 1.3.3) rspec (3.6.0, 3.4.0) rspec-核心 (3.6.0, 3.4.1) rspec-期望值 (3.6.0, 3.4.0) rspec-模拟(3.6.0、3.4.0) rspec-支持(3.6.0、3.4.1) rubygems-捆绑器 (1.4.4) rubyzip (1.2.1, 1.1.7) rvm (1.11.3.9) 硒网络驱动程序(3.4.4、2.48.1) 测试单元 (3.2.5, 2.0.0.0) 测试基因 (0.9, 0.8.7) 雷神 (0.19.4, 0.19.1) watir-webdriver (0.9.9, 0.9.1) 网络套接字 (1.2.4, 1.2.2) 院子 (0.9.9, 0.8.7.6) yml_reader (0.7, 0.5)

其他环境信息:

我试过在论坛上四处寻找这个特定错误,但找不到任何东西。我也想尝试升级到最新的 Chrome 浏览器和 Chrome 驱动程序版本,但是 google chrome 浏览器的最新版本似乎不再支持 Debian Wheezy 所以我坚持我得到的东西。

如有任何想法,我们将不胜感激。

Selenium 3 删除了对 watir-webdriver 直接访问的输入的驱动程序扩展检查。将代码更新到最新的 Watir 版本将解决此问题。 (以及提供一些额外的功能和性能改进)。