目录
3、创建spring boot项目添加selenium 依赖
1、下载chromedriver
由于chromedriver要与你电脑所安装的谷歌浏览器版本相对应,所以在下载前请确认好你的谷歌浏览器版本,然后打开https://npm.taobao.org/mirrors/chromedriver/找到对应版本下载chromedriver 运行文件。
我的浏览器版本是87.0.4280.88,所以我打开的87这个目录,下载适合你系统的可执行文件。
2、配置chromedriver
下载好后解压放到你喜欢的位置,我这里放到D:\Program Files\ChromeDriver文件夹下,记好这个路径配置要用到。接着右键我的电脑==>属性==>高级系统设置==>环境变量==>选中系统变量中的Path,点击编辑,点击新建,把前面提到的文件路径添加进去,点击确定至窗口关闭。到此配置完成。
3、创建spring boot项目添加selenium 依赖
我使用的是maven添加,在pom文件中添加此依赖
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.4.0</version>
</dependency>
<!-- 不添加此依赖会抛com.google.common.util.concurrent.SimpleTimeLimiter.create异常-->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>22.0</version>
</dependency>
4、创建例子代码
import org.junit.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
/**
*
* @author : MasterWei
* @date : 2020-12-08 15:48
* @description :
* @params :
* @return :
**/
public class TestChromeDriver {
public static void main(String[] args) throws InterruptedException {
testHelloWord();
}
private static void testHelloWord() throws InterruptedException {
System.setProperty("webdriver.chrome.driver",
"D:\\Program Files\\ChromeDriver\\chromedriver.exe");
//创建Chrome driver的实例
WebDriver driver = new ChromeDriver();
// 最大化浏览器
driver.manage().window().maximize();
//打开百度首页
driver.navigate().to ("https://www.baidu.com/");
//driver.get("http://www.baidu.com");
//通过name属性找到搜索输入框
WebElement search_input = driver.findElement(By.name("wd"));
//在搜索输入框中输入搜索关键字"耗子尾汁"
search_input.sendKeys("耗子尾汁");
//递交搜索请求
search_input.submit();
//等待5秒后自动关闭浏览器
Thread.sleep(5000);
//验证搜索结果页面的标题,若匹配则关闭浏览器
Assert.assertEquals("耗子尾汁_百度搜索",driver.getTitle());
//关闭浏览器窗口
driver.quit();
}
}
5、运行
在运行main函数后,可以看到谷歌浏览器被打开跳转到百度首页后,自动搜索了耗子尾汁,五秒后浏览器窗口自动关闭,
到此一个简单的spring boot selenium chromedriver 例子便完成了。
6、常见错误
Exception
com.google.common.util.concurrent.SimpleTimeLimiter.create(Ljava/util/concurrent/ExecutorService;)Lcom/google/common/util/concurrent/SimpleTimeLimiter;
这是由于没有添加guava依赖导致的,在pom文件加上即可(本文例子代码已添加)