参考:https://blog.csdn.net/ymxkybqw/article/details/85271026

我们为什么要借助webdriver来爬虫呢?其实jsoup也可以直接进行爬虫的,直接这样爬,容易被拦截,你可能没有携带一些特定的请求头之类的,爬虫成本较高,我们用webdriver就可以实现真实浏览器的访问,会自己携带请求参数过去,省去了很多去分析的时间。

原理:

我们在浏览器中为什么可以看到页面上的数据,是因为服务器给了数据给浏览器,让他去渲染,我们将这部分数据拿到,然后再打开浏览器,可以真实的模拟数据。

查看当前google版本[其他浏览器也可以]

在google浏览器输入:chrome://settings/help

下载 chromedriver.exe

下载地址:http://npm.taobao.org/mirrors/chromedriver或者http://chromedriver.storage.googleapis.com/index.html,因为我的google版本是80,所以我选择这个

notes.txt:这里写了这个驱动支持哪些版本的浏览器


下载对应系统的驱动版本

这个文件的路径可以随意放置

依赖

 <!--WebDriver--><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.0.0-alpha-3</version></dependency><!-- jsoup--><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.11.3</version></dependency>

测试代码

ChromeOptions options = new ChromeOptions();options.setBinary("D:/谷歌浏览器/Google/Chrome/Application/chrome.exe");//通过配置参数禁止data;的出现,不会弹出浏览器,默认是后台静默运行options.addArguments("--headless","--disable-gpu");//注意 第二个参数 改为你第二步下载 chromedriver.exe 所放在的路径System.setProperty("webdriver.chrome.driver", "D:/chromedriver/chromedriver.exe");//创建浏览器窗口WebDriver driver = new ChromeDriver(options);driver.get("https://www.baidu.com");//延迟5秒,动态网站数据填充比较慢,需要延迟才可以拿到数据Thread.sleep(5000);//拿到页面的数据String html=driver.getPageSource();System.out.println("The testing page title is: " + driver.getTitle());//将字符串变成document对象来获取某个节点的数据Document document= Jsoup.parse(html);System.out.println(document);//关闭浏览器窗口driver.quit();

selenium+Webdriver+jsoup爬虫 java相关推荐

  1. Selenium Webdriver 的使用java执行js代码 解决 ScriptEngine不支持浏览器内置对象window,document的问题

    问题场景: 使用java 掉用js代码,发现 ScriptEngine不支持浏览器内置对象window,document的问题: 问题一:为什么要 用java掉用js代码? 比如在 抓取(爬取)对方网 ...

  2. selenium webdriver之eclipse java开发环境搭建

    小弟虽然用过java,但是实在在wd中感觉写法好复杂,一个wait需要new对象出来,确实没有ruby写的舒服随意. 下载jdk: 进入该网页: http://java.sun.com/javase/ ...

  3. Selenium2.0 WebDriver功能测试入门(Java版)

    我也一直使用着原始的人工测试手段,随着内容的不断增多,测试起来就越发的繁杂,而且经常犯懒,这样就会忽略很多本该发现的问题,而且也容易出现旧的bug 反复出现的情况,这都是测试不规范造成的.要做好东西就 ...

  4. JAVA使用selenium的常见爬虫操作

    JAVA使用selenium的常见爬虫操作 1.引入相关maven依赖 2.下载相关浏览器驱动这是介绍Chrome和Edge浏览器 3.调用浏览器(以下代码均可以直接在你的main方法中直接运行) 4 ...

  5. selenium webdriver中执行js(java)

    在代码中import org.openqa.selenium.JavascriptExecutor;就可以使用executeScript.executeAsyncScript这两个方法了 execut ...

  6. 【自动化测试爬虫系列】Selenium Webdriver 介绍

    一. Selenium Webdriver技术介绍 1. 简介 selenium Webdriver是一套针对不同浏览器而开发的web应用自动化测试代码库.使用这套库可以进行页面的交互操作,并且可以重 ...

  7. JSOUP 教程—— Java爬虫,简易入门,秒杀htmlparser

    转载自 JSOUP 教程-- Java爬虫,简易入门,秒杀htmlparser 关于爬虫,之前一直用做第一个站的时候,记得那时候写的 爬虫  是爬sina 的数据,用的就是 htmlparser  可 ...

  8. Java中的Selenium / WebDriver示例

    几年前,我正在忙于一些工作,客户希望了解如何解决现实世界中的问题. 他们要求我自动化woot.com网站上的某些任务. 他们的任务是访问各个网站,并阅读当天商品的名称和价格. 我写了一些Seleniu ...

  9. java web 多语言_基于 Selenium WebDriver 实现多语言环境下自动化截图

    到此,一个 Junit4 test case 就在 Eclipse 中建成 , 如代码清单 1. 清单 1. 将脚本导入 Eclipse package com.example.casePackage ...

最新文章

  1. apache本地配置多域名(wampserver本地配置多域名)
  2. php log pecl,PHP日志扩展SeasLog-1.0.0正式版在PECL发布
  3. STM32 IO口的八种模式使用小结
  4. php统计凌晨6点,凌晨是哪一段时间,0:00-6:00(午夜到天亮前)
  5. java mapper control_java spring boot中怎么编写mapper?怎么编写service和controller?
  6. Linux下网卡绑定模式
  7. 发布会不用开了?三星Galaxy Note 10 Plus完整规格泄露
  8. 使用Python对图像进行中值滤波
  9. [2-sat]HDOJ3622 Bomb Game
  10. Oracle管理存储架构(二)--Oracle管理数据块空间
  11. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_13-webpack研究-webpack入门程序...
  12. 解决vm安装过程显示无人参与应答文件包含的产品密钥无效
  13. 嵌入式linux开发 周立功,嵌入式linux开发教程 周立功
  14. 用python删除pdf文件的特定页码
  15. IDEA启动tomcat控制台出现中文乱码问题完美解决方案(亲测有效)
  16. Siebel_CRM
  17. 富媒体消息和传统短信有何区别?
  18. 【图像重建】基于Split Bregman实现稀疏图像重建附matlab代码
  19. 为什么您没有得到最好的承包商,您将如何做(第2部分)
  20. 飞机大战h5微信小游戏代码

热门文章

  1. mysql密码重置错误,找到一个解决办法
  2. 编写shell脚本-sftp上传文件
  3. 怎么退出fastboot模式10
  4. 对象转map导致@JSONField无效
  5. 新手站长如何从零开始优化网站?
  6. 设计模式之职责链模式(图解+例题+java源码)
  7. 创新工具|如何构建产品的最小可行架构(MVA)
  8. 安卓上传应用宝应用加固操作说明
  9. Linux内核编程12期:设备树overlay与ConfigFS文件系统
  10. 桌面上文件有蓝色底的白色问号