如何在Linux平台上实现chlenium中的chromedriver

时间:2013-09-07 14:02:28

标签: selenium webdriver selenium-webdriver

有人可以告诉我如何在Selenium for Linux平台上使用Chrome驱动程序吗?

我的Chrome驱动程序位置位于username/home/chromedriver

我的代码是:

System.setProperty("webdriver.chrome.driver", "/home/username/ChromeDriver/chrome‌​driver");
driver = new ChromeDriver();
driver.get("facebook.com");

我得到的错误是:

  

org.openqa.selenium.WebDriverException:无法启动或   连接到Chrome。请检查ChromeDriver是否是最新的。

     

/opt/google/chrome/google-chrome

使用Chrome二进制文件      

(警告:服务器未提供任何堆栈跟踪信息)

5 个答案:

答案 0 :(得分:13)

来自[官方文档](https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver

  

要求

     

ChromeDriver使用Chrome的自动化代理控制浏览器   框架。

     

服务器希望您安装默认的Chrome   每个系统的位置:

OS          Expected Location of Chrome
-------------------------------------
Linux          /usr/bin/google-chrome
Mac            /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
Windows XP     %HOMEPATH%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe
Windows Vista  C:\Users\%USERNAME%\AppData\Local\Google\Chrome\Application\chrome.exe
     

对于Linux系统,ChromeDriver希望/usr/bin/google-chrome成为实际Chrome二进制文件的符号链接。另请参阅overriding the Chrome binary location部分。

     

入门

     

首先要设置好   download   适当的预建服务器。确保可以找到服务器   您的PATH或通过webdriver.chrome.driver指定其位置   系统属性。最后,您需要做的就是创建一个新的   ChromeDriver实例:

WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");

因此,download the version of chromedriver you need将其解压缩到PATH上的某个位置(或通过系统属性指定路径),然后运行驱动程序。

答案 1 :(得分:7)

我们已成功安装

sudo apt-get install unzip
wget -N http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip -P ~/Downloads
unzip ~/Downloads/chromedriver_linux64.zip -d ~/Downloads
chmod +x ~/Downloads/chromedriver
sudo mv -f ~/Downloads/chromedriver /usr/local/share/chromedriver
Change the directory to /usr/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

现在运行脚本并在环境文件中添加以下内容。

Capybara.register_driver :chrome do |app| client = Selenium::WebDriver::Remote::Http::Default.new Capybara::Selenium::Driver.new(app, :browser => :chrome, :http_client => client) end

Capybara.javascript_driver = :chrome

注意:根据您的操作系统类型更改Chrome驱动程序版本,如32位或64位。

答案 2 :(得分:4)

这是Linux 18.04的完整脚本,用于安装Google Chrome和chrome驱动程序。它应该自动调整以为浏览器收集正​​确的Chrome驱动程序。

#!/usr/bin/env bash
# install the latest version of Chrome and the Chrome Driver
apt-get update && apt-get install -y libnss3-dev
version=$(curl http://chromedriver.storage.googleapis.com/LATEST_RELEASE)
wget -N http://chromedriver.storage.googleapis.com/${version}/chromedriver_linux64.zip
unzip chromedriver_linux64.zip -d /usr/local/bin
chmod +x /usr/local/bin/chromedriver
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
dpkg -i google-chrome-stable_current_amd64.deb; apt-get -fy install

答案 3 :(得分:2)

对我来说,使用这些命令:

  1. 解压缩文件 - > unzip -q chromedriver_linux64.zip
  2. 强制复制到目录' usr / bin' - > sudo mv -f chromedriver / usr / bin
  3. 硒代码是那样的。

    {"password":null,"username":"root","authorities":[{"authority":"USER"}],"accountNonExpired":true,"accountNonLocked":true,"credentialsNonExpired":true,"enabled":true}

答案 4 :(得分:0)

您可以在this example

中看到一些小例子

对于linux,我下载chrome驱动程序并保留为系统路径变量(或放入存在的路径文件夹)。从代码中我使用以下方式(添加属性并使用chrome驱动程序的路径启动)

mongoose.connect('mongodb://node:nodeuser@mongo.onmodulus.net:27017/uwO3mypu');