我也曾面临同样的挑战,需要在Linux系统上设置selenium + chromedriver,以下是我的笔记:
先决条件:
安装JRE以运行selenium jar文件
安装selenium服务器
安装xvfb(你似乎已经完成这一部分)
为你的Linux发行版安装Google Chrome
下载chrome driver,可从此处获取:https://sites.google.com/a/chromium.org/chromedriver/downloads
安装其他可能需要的selenium依赖项(但以上是使chromedriver工作所需的最少要求)
运行:
Xvfb :1 -screen 5 1024x768x8 &
export DISPLAY=:1.5
java -jar selenium-server-standalone-2.30.0.jar -Dwebdriver.chrome.bin=/path/to/google-chrome -Dwebdriver.chrome.driver=/path/to/chromedriver
Mar 19, 2013 10:07:27 AM org.openqa.grid.selenium.GridLauncher main INFO: Launching a standalone server
Setting system property webdriver.chrome.bin to {location of google-chrome}
将系统属性webdriver.chrome.driver设置为{chromedriver的位置}
10:07:34.258 信息 - RemoteWebDriver实例应连接到:http://127.0.0.1:4444/wd/hub
10:07:34.259 信息 - Jetty版本/5.1.x 10:07:34.259 信息 - 已启动HttpContext[/selenium-server/driver,/selenium-server/driver] ...
参考: http://www.yann.com/en/use-xvfb-selenium-and-chrome-to-drive-a-web-browser-in-php-23/08/2012.html
干杯!
service = new ChromeDriverService.Builder()
.usingChromeDriverExecutable(new File("/path/to/chromedriver"))
.usingAnyFreePort()
.withEnvironment(ImmutableMap.of("DISPLAY",":20"))
.build();
这里是withEnvironment
的文档
我明白你的意思,但是你可能只是在运行Selenium Grid。它是为了自动化浏览器测试而设计的,在服务器上表现非常出色。