作者专注于Java、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料,微信搜索【程序员高手之路】,回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料。
前言
网上的爬虫、自动化一般都是使用python来做的;
身为java程序员,当然也要不甘示弱!
所以就写了java爬虫、自动化系列文章,供众多java程序员参考!
首先看一下自动化操作百度首页的图像,模拟输入、点击事件(下方附源码):
1. selenium jar包的引入
如果是maven项目,则直接引入:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
或者从网上下载selenium-java的jar包,再引入也行,网上很好找的
2. 浏览器驱动的指定
各浏览器下载地址:
Firefox浏览器驱动:geckodriver
Chrome浏览器驱动:chromedrivertaobao
IE浏览器驱动:IEDriverServer
Edge浏览器驱动:MicrosoftWebDriver
Opera浏览器驱动:operadriver
PhantomJS浏览器驱动:phantomjs
主要还是用的chrome,所以网上找了好几个driver下载地址:
http://npm.taobao.org/mirrors/chromedriver/ (这个是淘宝的)
注意版本的对应:
chromedriver版本 | 支持的Chrome版本 |
---|---|
v2.39 | v66-68 |
v2.38 | v65-67 |
v2.37 | v64-66 |
v2.36 | v63-65 |
v2.35 | v62-64 |
v2.34 | v61-63 |
v2.33 | v60-62 |
v2.32 | v59-61 |
v2.31 | v58-60 |
v2.30 | v58-60 |
v2.29 | v56-58 |
v2.28 | v55-57 |
v2.27 | v54-56 |
v2.26 | v53-55 |
v2.25 | v53-55 |
v2.24 | v52-54 |
v2.23 | v51-53 |
v2.22 | v49-52 |
v2.21 | v46-50 |
v2.20 | v43-48 |
v2.19 | v43-47 |
v2.18 | v43-46 |
v2.17 | v42-43 |
v2.13 | v42-45 |
v2.15 | v40-43 |
v2.14 | v39-42 |
v2.13 | v38-41 |
v2.12 | v36-40 |
v2.11 | v36-40 |
v2.10 | v33-36 |
v2.9 | v31-34 |
v2.8 | v30-33 |
v2.7 | v30-33 |
v2.6 | v29-32 |
v2.5 | v29-32 |
v2.4 | v29-32 |
3. hello world
把chromedriver路径替换一下直接运行下面的代码:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import utils.CommonUtils;
public class BaiduDemo {
public static void main(String[] args) {
String baseDir = System.getProperty("user.dir");
//定义使用什么版本的驱动,注意替换你的路径
System.setProperty("webdriver.chrome.driver", baseDir + "/src/main/resources/setup/chrome/78.0.3904/chromedriver.exe");
WebDriver driver = new ChromeDriver();
// 窗口最大化
driver.manage().window().maximize();
CommonUtils.sleep(2000);
//进入百度首页
driver.get("https://www.baidu.com/");
//找到输入框
WebElement text = driver.findElement(By.id("kw"));
//找到百度一下按钮
WebElement button = driver.findElement(By.id("su"));
//输入内容
text.sendKeys("前方一片光明");
button.click();
CommonUtils.sleep(2000);
driver.findElement(By.xpath("//*[@id=\"1\"]/h3/a")).click();
CommonUtils.sleep(20000);
}
}
OK, GAME OVER!
作者专注于Java、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料,微信搜索【程序员高手之路】,回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料。