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

use*_*362 10 selenium webdriver selenium-webdriver

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

我有我的镀铬驱动程序位置username/home/chromedriver.

我的代码是:

System.setProperty("webdriver.chrome.driver", "/home/username/ChromeDriver/chrome??driver");
driver = new ChromeDriver();
driver.get("facebook.com");
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

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

使用Chrome二进制文件: /opt/google/chrome/google-chrome

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

Pet*_*ček 15

来自[官方文档](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
Run Code Online (Sandbox Code Playgroud)

对于Linux系统,ChromeDriver希望/usr/bin/google-chrome成为实际Chrome二进制文件的符号链接.另请参阅覆盖Chrome二进制位置的部分.

入门

要进行设置,请先 下载相应的预建服务器.确保服务器可以位于您PATH的位置,或通过webdriver.chrome.driver 系统属性指定其位置.最后,您需要做的就是创建一个新的ChromeDriver实例:

WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
Run Code Online (Sandbox Code Playgroud)

因此,下载您需要的chromedriver版本,将其解压缩到您的某个位置PATH(或通过系统属性指定它的路径),然后运行驱动程序.


小智 8

我们已成功安装

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
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

注意:根据您的操作系统类型(如32位或64位)更改chrome驱动程序版本.


Mar*_*ark 5

这是 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
Run Code Online (Sandbox Code Playgroud)