有人可以告诉我如何在Selenium for Linux平台上使用Chrome驱动程序吗?
我的Chrome驱动程序位置位于username/home/chromedriver
。
我的代码是:
System.setProperty("webdriver.chrome.driver", "/home/username/ChromeDriver/chromedriver");
driver = new ChromeDriver();
driver.get("facebook.com");
我得到的错误是:
org.openqa.selenium.WebDriverException
:无法启动或 连接到Chrome。请检查ChromeDriver是否是最新的。在
使用Chrome二进制文件/opt/google/chrome/google-chrome
(警告:服务器未提供任何堆栈跟踪信息)
答案 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)
对我来说,使用这些命令:
硒代码是那样的。
{"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');