>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 29214 个阅读者 刷新本主题
 * 贴子主题:  Java版Selenium使用chrome driver抓取动态网页 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2020-01-09 09:14:06     消息  查看  搜索  好友  邮件  复制  引用

前置条件:
mac 10.13.6
chrome浏览器 版本 68.0.3440.84(正式版本) (64 位)
chromedriver驱动

一.chrome浏览器下载
http://www.google.cn/chrome/

二.chromedriver驱动下载
各个版本:http://chromedriver.storage.googleapis.com/index.html
注:chromedriver需要和浏览器版本兼容,否则无法顺利解析


三.安装驱动

解压驱动到目录 C:\mytool\chromedriver.exe

四、Selenium的JavaDoc API文档和软件包下载
http://selenium.dev/selenium/docs/api/java/index.html
Selenium的软件包下载地址

四.java代码
package test.selenium;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class ChromeMain {
    public static void main(String[] args) throws IOException, InterruptedException {
        long time = System.currentTimeMillis();
        // 可省略,若驱动放在其他目录需指定驱动路径
        //System.setProperty("webdriver.chrome.driver", "C:\\mytool\\chromedriver.exe");
        ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.addArguments("--headless");
        ChromeDriver driver = new ChromeDriver(chromeOptions);
        driver.get("http://baidu.com");

        // 获得网页的HTML文档源码
        String source = driver.getPageSource();
        System.out.println(source);
        driver.close();
        System.out.println("耗时:"+(System.currentTimeMillis()-time));
    }
}

maven依赖

我这里使用的版本是2.53.1

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-remote-driver</artifactId>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-support</artifactId>
        </dependency>

————————————————
原文链接:https://blog.csdn.net/hechaojie_com/article/details/81741524

程序猿的技术大观园:www.javathinker.net

[这个贴子最后由 sunweiqin 在 2020-01-10 12:06:50 重新编辑]
  Java面向对象编程-->类的生命周期
  JavaWeb开发-->JavaWeb应用入门(Ⅱ)
  JSP与Hibernate开发-->Java应用分层架构及软件模型
  Java网络编程-->客户端协议处理框架
  精通Spring-->Vue组件开发高级技术
  Vue3开发-->Vue CLI脚手架工具
  [求助] 如何观看孙老师的课程视频
  详细介绍float和double类型的区别
  面试官:NIO的优化实现原理了解吗?图文结合教你如何正确避坑
  Java Proxy用法: 让我们创建一个API代理器
  Java设计模式: 单一职责原则和依赖倒置原则详解
  十分钟带你搞懂 Java AQS 核心设计与实现!
  Redis安装、Redis基本数据类型、Jedis、Redis集群搭建
  JDBC API中的桥接模式
  Java 冒泡排序算法
  java常见的几种调用机制:同步调用,异步调用,回调
  常用的正则表达式汇总
  Java设计模式:装饰器模式
  Socket服务器的整体架构
  Java入门实用代码:获取当前线程名称
  native2ascii.exe 的Java实现类
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。