【问题标题】:Ruby selenium-webdriver (LoadError) when automating script自动化脚本时的 Ruby selenium-webdriver (LoadError)
【发布时间】:2016-01-05 07:42:01
【问题描述】:

我创建了一个基于 ruby​​ 的 selenium 测试,它导航到一个站点并验证页面元素是否存在。该脚本在命令行执行时可以正常运行,但通过 Automator 或 Cronjob 运行时会产生以下错误:

/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- selenium-webdriver (LoadError)
from  Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/xxxxxxx/workspace/xxxxxxxx/script.rb:2:in `<main>'

根据研究,我已将 selenium-webdriver gem 卸载并重新安装为 sudo,但仍会收到错误消息。

我的环境设置如下,Mac OSX 运行 ruby​​ 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin15]。安装以下 gem:

*** LOCAL GEMS ***

bigdecimal (1.2.7, 1.2.6)
bundler (1.10.6)
bundler-unload (1.0.2)
childprocess (0.5.8)
executable-hooks (1.3.2)
ffi (1.9.10)
gem-wrappers (1.2.7)
io-console (0.4.3)
json (1.8.3, 1.8.1)
mini_portile (0.6.2)
multi_json (1.11.2)
nokogiri (1.6.6.2)
nokogirl (1.0)
psych (2.0.15, 2.0.8)
rake (10.4.2)
rdoc (4.2.0)
rubygems-bundler (1.4.4)
rubyzip (1.1.7)
rvm (1.11.3.9)
selenium-webdriver (2.48.1)
websocket (1.2.2)

有什么想法吗?

【问题讨论】:

  • 看起来确实存在用户权限问题...。硒宝石现在可用于所有用途吗?即它是否使用 sudo 命令安装?如果是这样,则卸载它并运行 gem install ...,或者使用 Gemfile 并运行 bundle install
  • 我多次尝试卸载和重新安装(通过 sudo),但无济于事。

标签: ruby selenium selenium-webdriver webdriver


【解决方案1】:

您使用的是 ruby​​ 版本管理器吗?似乎它正在使用您的默认 ruby​​,所以如果您在版本管理器的范围内安装了 gem,它将不会在系统 ruby​​ 上看到

【讨论】:

  • 是的,我正在使用 rvm。任何想法解决这个问题的简单方法而不必删除 rvm 的使用?
  • 您可以将默认ruby设置为与rvm一起安装的ruby。或者在您的项目中使用 .ruby-version 和 .gemset 文件。这样,rvm 会将已安装的 ruby​​ 更改为文件中指定的 ruby​​ 和 gemset。
  • 一个常见的放置 rvm 的地方是在你的 ~/.bash_profile 中。看看这是否有所作为
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-19
  • 2018-12-29
相关资源
最近更新 更多