作者專注於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/ (這個是淘寶的)
http://chromedriver.storage.googleapis.com/index.html (這個是谷歌的)
注意版本的對應:
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】【黑客】【爬蟲】【小程序】【面試】等關鍵字免費獲取資料。