>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 23065 个阅读者 刷新本主题
 * 贴子主题:  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开发-->开发JavaMail Web应用
  JSP与Hibernate开发-->域对象在持久化层的四种状态
  Java网络编程-->通过JavaMail API收发邮件
  精通Spring-->Vue Router路由管理器
  Vue3开发-->Vue简介
  Java如何遍历Enumeration
  java.util.logging.Logger使用详解
  Java 语言中十大“坑爹”功能!
  使用策略模式优化代码实践,如何让项目快速起飞
  害怕面试被问HashMap?
  Java设计模式:装饰器模式
  正则表达式性能调优
  Java虚拟机(JVM)的内存结构
  Java入门实用代码:获取所有线程
  Java入门实用代码:获取远程文件大小
  Java入门实用代码: 队列(Queue)用法
  Java 入门实用代码:汉诺塔算法
  Java 入门实用代码:数组扩容
  中国有多少程序员?现在还值得学java吗?
  Java中的main()方法详解
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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