17

有人可以告诉我如何在 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 是否是最新的。

在以下位置使用 Chrome 二进制文件:/opt/google/chrome/google-chrome

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

4

5 回答 5

25

来自[官方文档](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 二进制文件的符号链接。另请参阅覆盖 Chrome 二进制位置的部分。

入门

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

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

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

于 2013-09-07T14:18:17.807 回答
13

我们已经安装成功

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

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

于 2015-02-26T04:45:44.687 回答
4

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

  1. 解压文件 -> unzip -q chromedriver_linux64.zip
  2. 强制复制到目录 'usr/bin' -> sudo mv -f chromedriver /usr/bin

硒代码就是这样。


System.setProperty("webdriver.chrome.driver","/usr/bin/chromedriver");

WebDriver driver = new ChromeDriver();

driver.get("https://mvnrepository.com");

driver.close();
于 2018-04-14T16:14:24.487 回答
4

这是用于安装 Google Chrome 和 chrome 驱动程序的 Linux 18.04 的完整脚本。它应该自动调整以收集浏览器的正确 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
于 2020-04-03T22:14:05.980 回答
0

你可以从这个例子中看到小例子

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

System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
ChromeDriverService service = new ChromeDriverService.Builder()
                .usingDriverExecutable(new File("/usr/local/bin/chromedriver"))
                .usingAnyFreePort()
                .build();
        try {
            service.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return new RemoteWebDriver(service.getUrl(), DesiredCapabilities.chrome());
于 2016-06-27T23:58:49.107 回答