【问题标题】:Watir Timeout issue with FirefoxFirefox 的 Watir 超时问题
【发布时间】:2017-01-31 14:06:35
【问题描述】:

我正在尝试通过 RubyMine 运行以下 ruby​​ 代码:

需要“红宝石” 需要'watir-webdriver' 浏览器 = Watir::Browser.new :firefox browser.goto 'http://www.apple.com'

运行时出现以下错误:

firefox 连接 60 秒 (127.0.0.1:7055) (Selenium::WebDriver::Error::WebDriverError) 来自/Users/mark/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/firefox/launcher.rb:55:in block in launch' from /Users/mark/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/common/socket_lock.rb:43:inlocked' 来自 /Users/mark/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/firefox/launcher.rb:51:in launch' from /Users/mark/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/firefox/bridge.rb:43:ininitialize' 来自 /Users/mark/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/common/driver.rb:53:in new' from /Users/mark/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/common/driver.rb:53:infor' 来自 /Users/mark/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver.rb:84:in for' from /Users/mark/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/watir-webdriver-0.9.3/lib/watir-webdriver/browser.rb:46:ininitialize ' 来自 /Users/mark/cheezy/first_script.rb:3:in new' from /Users/mark/cheezy/first_script.rb:3:in' 来自 -e:1:in load' from -e:1:in'

我安装了最新的 Watir-Webdriver gem。

有什么想法吗?

谢谢

【问题讨论】:

标签: firefox rubygems watir watir-webdriver rubymine


【解决方案1】:

对于 Firefox 48+,您需要使用 geckodriver。 从这里下载:https://github.com/mozilla/geckodriver/releases

Selenium 指令:https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver

侍者指示:http://watir.github.io/watir-6-beta/

如果您还有任何问题,请告诉我。

【讨论】:

  • 马克,不,它是一个可执行文件,你需要下载它并把它放在你的路径上,类似于chromedriver。 @titusfortner 您能否在答案中包含一个示例,说明如何设置功能,以便在创建新浏览器对象时,它可以与 Marionette 正确对话?
  • 非常感谢您的帮助。我已经下载了 geckodriver 并使用 :export PATH=$PATH:/users/mark/downloads/geckodriver 添加到我的 PATH 中。然后我添加了新的 WATIR gem,然后重新运行我的测试脚本。我现在收到以下错误:/Users/mark/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.0.0.beta3.1/lib/selenium/webdriver /firefox.rb:58:in `driver_path':无法找到 Mozilla geckodriver。请从github.com/mozilla/geckodriver/releases 下载服务器并将其放置在您的 PATH 中的某个位置。
  • 哦,当我运行 ECHO $Path 我得到 /Users/mark/.rbenv/shims:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin :/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/users/mark/downloads/geckodriver
  • 最好将二进制文件移动到已经在 PATH 上的目录中。我相信 Selenium 正在下载/geckodriver 目录(不存在)中寻找 geckodriver 二进制文件。
  • 感谢您的帮助。我按照你的建议做了,但现在我得到以下信息: Errno::EACCES: Permission denied @ rb_sysopen - /Users/mark/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/selenium -webdriver-2.53.4/CHANGES 使用黄瓜 2.4.0
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
  • 2016-10-24
  • 1970-01-01
  • 2018-02-26
相关资源
最近更新 更多