无法连接到chromedriver

tsi*_*han 33 selenium ruby-on-rails

我使用capybara&selenium测试我的rails项目.当我执行测试脚本时,它有这样的错误

 Selenium::WebDriver::Error::WebDriverError:
   Could not find Firefox binary (os=macosx). Make sure Firefox is installed or set the path manually with Selenium::WebDriver::Firefox::Binary.path=
Run Code Online (Sandbox Code Playgroud)

我谷歌如何使用谷歌浏览器作为测试浏览器而不是Firefox

但它发生其他错误喜欢

Selenium::WebDriver::Error::WebDriverError:
   unable to connect to chromedriver http://127.0.0.1:9515
Run Code Online (Sandbox Code Playgroud)

Jer*_*emy 51

我有完全相同的问题.对我有用的是使用"chromedriver-helper"宝石.我的gemfile的一部分看起来像这样:

group :development, :test do
  gem 'rspec-rails'
  gem 'capybara'
  gem 'selenium-webdriver'
  gem 'chromedriver-helper'
end
Run Code Online (Sandbox Code Playgroud)

  • 将`selenium-webdriver 3.8.0`更新为`3.9.0`后,首先出现错误.添加`chromedriver-helper` gem解决了这个问题 (4认同)

Mik*_*ski 10

在Mac OS上

它适用于watir-webdriver和Safari

browser = Watir::Browser.new :safari
Run Code Online (Sandbox Code Playgroud)

如果您想使用Chrome,请确保已安装,并且需要安装mac os开发人员工具

xcode-select --install
Run Code Online (Sandbox Code Playgroud)

还可以用brew安装chromedriver

brew install chromedriver
Run Code Online (Sandbox Code Playgroud)

在Linux上

我在我的暂存Ubuntu 12.04服务器上遇到了同样的错误,问题是我没有像这样安装chrome本身(具有超级用户权限):

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
apt-get update
apt-get install google-chrome-stable
Run Code Online (Sandbox Code Playgroud)

安装chromedriver(使用适合您系统和版本的路径):

wget http://chromedriver.storage.googleapis.com/2.7/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
cp chromedriver /usr/local/bin
chmod +x /usr/local/bin/chromedriver 
Run Code Online (Sandbox Code Playgroud)

之后我建议你在无头模式下使用watir-webdriver

require 'watir-webdriver'
require 'headless'
headless = Headless.new
headless.start

browser = Watir::Browser.new :chrome
browser.goto 'http://google.com'

...

browser.close
headless.destroy
Run Code Online (Sandbox Code Playgroud)

祝好运!


小智 9

在Ubuntu 12.10上运行,我也有错误消息:

unable to connect to chromedriver http://127.0.0.1:9515
Run Code Online (Sandbox Code Playgroud)

即使我下载并正确安装后仍无法正常工作.我甚至尝试过使用chromedriver-helper gem.所以我手动运行chromedriver(/ usr/bin/chromedriver)并发现了两件事:

1)我对libnss3缺少包依赖,使用了修复 sudo apt-get install libnss3

2)chromedriver 2.9版(最新截至2014年2月)要求chrome>版本31,我有v25,使用固定的 sudo apt-get --only-upgrade install google-chrome-stable