linux 的环境准备

安装 google-chrome
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
下载 Chromedriver
地址:http://npm.taobao.org/mirrors/chromedriver/ (根据google-chrome -version找对应版本)
下载后放到根目录,注意要给 chromedriver 可执行权限:chmod 777 /chromedriver

windows 的环境准备

安装 google-chrome 浏览器
下载 Chromedriver
地址:http://npm.taobao.org/mirrors/chromedriver/ (根据google-chrome -version找对应版本)

JAVA Maven

maven 导入包
<dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>2.33.0</version>
</dependency>

工具类例子

package c.o.v;import org.apache.commons.lang3.StringUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;import java.util.Collections;
import java.util.HashMap;
import java.util.Map;public class YXMUtil {public static void main(String[] args) {get("https://mall.q-gp.com/share/product?skuNo=366936136878081");}public static Map<String, String> get(String url) {// 参数配置System.setProperty("webdriver.chrome.driver", "/chromedriver.exe");WebDriver driver;ChromeOptions option = new ChromeOptions();option.addArguments("headless"); // 无界面参数option.addArguments("no-sandbox"); // 禁用沙盒// 通过ChromeOptions的setExperimentalOption方法,传下面两个参数来禁止掉谷歌受自动化控制的信息栏option.setExperimentalOptions("useAutomationExtension", false);option.setExperimentalOptions("excludeSwitches", Collections.singletonList("enable-automation"));driver = new ChromeDriver(option);driver.get(url);String title = "";String num = "";String img = "";long time = System.currentTimeMillis();while (StringUtils.isEmpty(img) || StringUtils.isEmpty(title) || StringUtils.isEmpty(num)) {img = driver.findElement(By.className("cr-image--img")).getAttribute("src");title = driver.findElement(By.className("title")).getText();num = driver.findElement(By.className("num")).getText();if (System.currentTimeMillis() - time > 5000) {System.out.println("获取超时,已结束");driver.quit();return null;}try {Thread.sleep(500);} catch (Exception e) {e.printStackTrace();}}System.out.println("标题:" + title);System.out.println("价格:" + num);System.out.println("图片:" + img);driver.quit();Map<String, String> map = new HashMap();map.put("title", title);map.put("num", num);map.put("img", img);return map;}
}

JAVA+Selenium+Chrome+Chromedriver 模拟浏览器相关推荐

  1. chrome frame节点 取_爬虫3-下(利用Selenium + Chrome Driver模拟用户操作浏览器)

    一.前言 前面利用request的方法爬取页面数据的操作,今天用另外一种方法:利用Selenium + Chrome Driver模拟用户操作浏览器,来爬取数据. 在此之前需要做一些准备工作:安装se ...

  2. java怎样模拟点击网页,笔者操作Java+selenium实现网站模拟点击和页面数据爬取

    电脑现已成为我们工作.生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到Java+selenium实现网站模拟点击和页面数据爬取的问题,如果我们遇到了Java+selenium实现网站模拟点击 ...

  3. 《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)

    1.简介 前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器.按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome.因此宏哥这里主要介绍一下如 ...

  4. Java+Selenium+Chrome、Firefox自动化测试环境搭建

    一.环境: 软件:idea+java+maven selenium版本:3.14.0 java版本:jdk1.8 chrome版本:80.0.3987.122 chromedriver版本:80.0. ...

  5. Selenium.Chrome.ChromeDriver指纹去除

    下面的JS名为stealth.min.js,是github上开源的,刚开始直接使用的时候是不行的,后面我改了一点,就可以了. /*!* Note: Auto-generated, do not upd ...

  6. chrome java mac下载_Mac上Java+selenium+Chrome环境配置

    前言 本人之前在window下使用Java+selenium+Firefox进行UI测试,由于window本子集显烧了更换了MacBook Pro,所以开始研究如何在Mac环境下进行UI自动化测试.但 ...

  7. 孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1

    孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1 (完整学习过程屏幕记录视频地址在文末) 要模拟进行浏览器操作,只用requests是不行的,因此今天了解到有专门的解决方案 ...

  8. Centos7安装python3+Selenium+chrome+chromedriver详细

    Centos7安装python3+Selenium+chrome+chromedriver详细 python2和python3共存,Selenium错误的处理 更新Centos源 wget -O /e ...

  9. Python爬虫之selenium爬虫,模拟浏览器爬取天猫信息

    由于工作需要,需要提取到天猫400个指定商品页面中指定的信息,于是有了这个爬虫.这是一个使用 selenium 爬取天猫商品信息的爬虫,虽然功能单一,但是也算是 selenium 爬虫的基本用法了. ...

最新文章

  1. FLASHBACK实施笔记
  2. 数据中心架构有哪些组件?
  3. 【算法基础】数据结构导论第一章-绪论.pptx
  4. c++如何防止一个类被其他类继承?
  5. php数组排序综合例子,php数组实例之数组排序
  6. 阿里云发布首个流式存储与播放解决方案
  7. java中两短行代码合并一行_帮忙啊!!!!找出两个Java文件相似程度超过某一%的代码行。...
  8. 2021年中国住宅保安系统市场趋势报告、技术动态创新及2027年市场预测
  9. lgg7刷机包下载_LGG7One刷机包
  10. Java初学者作业——声明变量储存商品信息并进行输出
  11. 阿里云服务大规模故障:运维操作失误
  12. 【源码解析】Activity的启动模式
  13. PAT (Basic Level) Practice (中文)1044 火星数字 (20 分)(Java实现)
  14. 文本域换行 php,js获取textarea文本域自动换行符
  15. LaTex Verbatim 环境下使用数学符号
  16. 腾讯云4核8g10M轻量服务器支持多少人在线?
  17. windows下安装VMware Workstation14.0Pro(VMware系列一)
  18. 谈谈Http长连接和Keep-Alive以及Tcp的Keepalive
  19. 计算机pscs6教程,photoshop CS6零基础入门教程
  20. Android系统固件定制方式

热门文章

  1. 传统管理软件已死 智能+时代将如何“浴火重生”?
  2. matlab画出拟合的曲线,matlab画出拟合曲线
  3. 在Linux中安装mysql后遇到错误20008解决方案
  4. 记一次服务器被攻击经历
  5. Remove Duplicates
  6. tftp协议的实现和即时通讯软件
  7. 【全局面包屑导航】依据路由动态生成面包屑导航
  8. 如何创建 CAB 文件和如何从文件、内存和资源中解压缩 CAB 文件
  9. iOS-自定义手势操作
  10. 已知IP地址和子网掩码后可以算出网络地址、广播地址、地址范围、主机位数、可用主机位数