第一步:把chrome浏览器安装在系统默认路径下,下载chromedriver,下载地址https://sites.google.com/a/chromium.org/chromedriver/downloads
比如在本地的存储路径为:E:\apps\selenium\chromedriver\chromedriver.exe
第二步:测试代码
2.0 Java maven项目,需要在pom文件中添加如下dependency,
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.5.3</version>
</dependency>
selenium支持两种启动模式:本地模式,远程模式。
2.1.1 本地模式--》示例代码:
System.setProperty("webdriver.chrome.driver", "E:\\apps\\selenium\\chomedriver\\chromedriver.exe"); WebDriver wd = new ChromeDriver(); wd.manage().window().maximize(); //打开高德地图 wd.get("ditu.amap.com"); wd.quit();通过 webdriver.chrome.driver 参数指定chromedriver.exe的存储路径
否则会报错: org.openqa.selenium.WebDriverException: java.net.SocketException: Connection reset
2.1.2 远程模式--》:
0) 下载seleniumserver.jar,下载地址:http://docs.seleniumhq.org/download/
1) 启动hub,默认端口4444
java -jar E:\apps\selenium\seleniumserver\selenium-server-standalone-3.5.3.jar-role hub
2) 启动node,默认端口 5555
java -jar E:\apps\selenium\seleniumserver\selenium-server-standalone-3.5.3.jar-role node
DesiredCapabilities dc = DesiredCapabilities.chrome(); WebDriver wd = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"),dc); wd.manage().window().maximize(); //打开高德地图 wd.get("http://www.baidu.com"); wd.quit();通过上述模式运行远程模式时,必须把 E:\\apps\\selenium\\chomedriver加入到系统环境变量PATH
替代方案是,启动node时:
java -Dwebdriver.chrome.driver=E:\\apps\\selenium\\chomedriver -jar E:\apps\selenium\seleniumserver\selenium-server-standalone-3.5.3.jar -role node
否则会报错: org.openqa.selenium.WebDriverException: Error forwarding the new session Error forwarding the request Connect to ...
值得注意的是:在selenium2.x中,远程模式的node启动方式,系统参数-Dwebdriver.chrome.driver=E:\\apps\\selenium\\chomedriver可以在 -jar之后 java -jar E:\apps\selenium\seleniumserver\selenium-server-standalone-3.5.3.jar -role node -Dwebdriver.chrome.driver=E:\\apps\\selenium\\chomedriver 从selenium3.x开始, -Dxx必须在 -jar之前,
可以参考:https://github.com/SeleniumHQ/selenium/issues/2566#issuecomment-252657965