Java爬虫Selenium+Java+ChromeDriver

Posted 蓝匣子itbluebox

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java爬虫Selenium+Java+ChromeDriver相关的知识,希望对你有一定的参考价值。

一、爬虫工具

  • selenium
    是一个模拟浏览器操作的工具,背后有google 维护源代码,支持全部主流浏览器,支持主流的编程语言,包括:java,Python,C#,php,Ruby,等,在本项目上使用的Java语言。
    官网:https://www.selenium.dev/documentation/

  • ChromeDriver
    使用selenium是需要浏览器的配合, chromeDriver,是谷歌浏览器的一个驱动, selenium借助chromeDriver,实现模拟对浏览器的各种操作。·

二、环境搭建

1、下载chromeDriver

http://chromedriver.storage.googleapis.com/index.html

![在这里插入图片描述](https://img-blog.csdnimg.cn/70d79369

解压以后找个位置放一下

2、创建idea项目




3、导入maven依赖

	<dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>23.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.14</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.14</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.8.0</version>
        </dependency>
    </dependencies>

4、编写测试类

三、运行案例

案例:百度搜索王者荣耀,
将搜索出的内容列表保存成excel文件,
内容主要包含内容名称和url

package com.xw;

import org.openqa.selenium.By;
import org.openqa.selenium.javascriptExecutor;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;

import java.util.List;
import java.util.concurrent.TimeUnit;

public class Test 
    public static void main(String[] args) 
        //加载谷歌浏览器驱动
        System.getProperties().setProperty("webdriver.chrome.driver","D:\\\\ProgramSoftware\\\\chromedriver_win32\\\\chromedriver_win32 (2)\\\\chromedriver.exe");
        ChromeDriver chromeDriver = new ChromeDriver();
        try 
            Thread.sleep(3000);
        catch (Exception e)
            e.printStackTrace();
        
        //设置访问地址
        String url = "https://www.baidu.com/";
        chromeDriver.get(url);
        //在id为kw的输入框当中输入内容
        WebElement kw = chromeDriver.findElement(By.id("kw"));
        kw.sendKeys("王者荣耀");
        //在id为su的按钮上点击
        WebElement su = chromeDriver.findElement(By.id("su"));
        su.click();
        try 
            //设置等待
            chromeDriver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
        catch (Exception e)
            e.printStackTrace();
        
        //找到搜索后左边的内容
        WebElement content_left = chromeDriver.findElement(By.id("content_left"));
        List<WebElement> elements = content_left.findElements(By.cssSelector(".c-container"));
        //遍历出来需要的元素和内容
        for (WebElement page : elements) 
            WebElement h3_a = page.findElement(By.cssSelector("h3 a"));
            String text = h3_a.getText();
            String href = h3_a.getAttribute("href");
            System.out.println(text);
            System.out.println(href);
            WebElement a = page.findElement(By.cssSelector("a"));
            String hrefa =  a.getAttribute("href");
            System.out.println(hrefa);
        
        try 
            Thread.sleep(5000);
        catch (Exception e)
            e.printStackTrace();
        
        chromeDriver.quit();
    




运行成功

以上是关于Java爬虫Selenium+Java+ChromeDriver的主要内容,如果未能解决你的问题,请参考以下文章

Java爬虫Selenium+Java+ChromeDriver

Spider爬虫

python Chrome + selenium自动化测试与python爬虫获取网页数据

Selenium用法详解cookies操作JAVA爬虫

selenium-java爬虫实现

Selenium实战远程控制JAVA爬虫