>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 29237 个阅读者 刷新本主题
 * 贴子主题:  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面向对象编程-->Java语言的基本语法和规范
  JavaWeb开发-->Web运作原理(Ⅱ)
  JSP与Hibernate开发-->映射对象标识符
  Java网络编程-->通过JavaMail API收发邮件
  精通Spring-->Vue组件开发基础
  Vue3开发-->通过Axios访问服务器
  解决javac编译错误: 编码UTF8/GBK的不可映射字符
  实用类 EncodingDetect,查看一个文件的字符编码
  详细介绍float和double类型的区别
  JDK17的新特性
  套接字通信:select、poll、epoll的区别
  Java设计模式: 里氏替换原则和合成复用原则详解
  volatile 实现原理
  Java关键字final、static使用总结
  Java中的受查异常与非受查异常区别
  Synchronized与ReentrantLock区别总结
  Java多线程volatile详解
  JAVA常用数据结构
  Eclipse使用指南:Debug 配置
  Java入门实用代码: List 列表中元素的替换
  Java入门实用代码:删除一个文件目录
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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