今日份的学习,利用chromedriver的无头特性直接访问百度首页
运行环境:
- windows7
- chrome 76.0.3809.100
- chromedriver 72.0.3626.69
- eclipse
步骤:
1、创建maven项目,过程略
2、pom.xml中添加依赖(目前(算不上功能的)功能这一个就够了)
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
<scope>compile</scope>
</dependency>
3、主函数中,创建chrome实例并访问"http://www.baidu.com"
public static void chromeDemo1(){
WebDriver driver = null;
String url = "http://www.baidu.com"; //注意要是完整的url,有http://xxx,不然会报错
driver = Chromedriver.getChromeDriver(); //创建chrome实例
driver.get(url); //访问url
System.out.println(driver.getTitle()); //输出访问成功的url的页面title
}
4、创建chrome实例
public class Chromedriver {
static String driverPath = "D:\\ny_software_install\\chromedriver.exe";
public static WebDriver getChromeDriver(){
System.setProperty("webdriver.chrome.driver",driverPath); //chromedriver所在路径
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless"); //设置无头,谷歌浏览器就不会蹦出来影响你了
options.addArguments("--disable-gpu");
options.addArguments("--user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36");
WebDriver driver = new ChromeDriver(options);
return driver;
}
}
注意事项:
- 下载匹配谷歌浏览器的chromedriver(千万不要单纯地依赖网上说的对应关系,经过我血与泪的经历来说,不可靠,我之前下76.0.xx.xx版本的chromedriver,每次创建实例都弹出了两个窗口(没有设置无头时),一个空白data;窗口,一个就是我访问的网站,当我设置了无头后,还是会弹出一个空白窗口)
- 访问网站记得写上"http/https"啥的