JAVA+Selenium+Chrome+Chromedriver 模拟浏览器
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 模拟浏览器相关推荐
- chrome frame节点 取_爬虫3-下(利用Selenium + Chrome Driver模拟用户操作浏览器)
一.前言 前面利用request的方法爬取页面数据的操作,今天用另外一种方法:利用Selenium + Chrome Driver模拟用户操作浏览器,来爬取数据. 在此之前需要做一些准备工作:安装se ...
- java怎样模拟点击网页,笔者操作Java+selenium实现网站模拟点击和页面数据爬取
电脑现已成为我们工作.生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到Java+selenium实现网站模拟点击和页面数据爬取的问题,如果我们遇到了Java+selenium实现网站模拟点击 ...
- 《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)
1.简介 前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器.按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome.因此宏哥这里主要介绍一下如 ...
- Java+Selenium+Chrome、Firefox自动化测试环境搭建
一.环境: 软件:idea+java+maven selenium版本:3.14.0 java版本:jdk1.8 chrome版本:80.0.3987.122 chromedriver版本:80.0. ...
- Selenium.Chrome.ChromeDriver指纹去除
下面的JS名为stealth.min.js,是github上开源的,刚开始直接使用的时候是不行的,后面我改了一点,就可以了. /*!* Note: Auto-generated, do not upd ...
- chrome java mac下载_Mac上Java+selenium+Chrome环境配置
前言 本人之前在window下使用Java+selenium+Firefox进行UI测试,由于window本子集显烧了更换了MacBook Pro,所以开始研究如何在Mac环境下进行UI自动化测试.但 ...
- 孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1
孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1 (完整学习过程屏幕记录视频地址在文末) 要模拟进行浏览器操作,只用requests是不行的,因此今天了解到有专门的解决方案 ...
- Centos7安装python3+Selenium+chrome+chromedriver详细
Centos7安装python3+Selenium+chrome+chromedriver详细 python2和python3共存,Selenium错误的处理 更新Centos源 wget -O /e ...
- Python爬虫之selenium爬虫,模拟浏览器爬取天猫信息
由于工作需要,需要提取到天猫400个指定商品页面中指定的信息,于是有了这个爬虫.这是一个使用 selenium 爬取天猫商品信息的爬虫,虽然功能单一,但是也算是 selenium 爬虫的基本用法了. ...
最新文章
- FLASHBACK实施笔记
- 数据中心架构有哪些组件?
- 【算法基础】数据结构导论第一章-绪论.pptx
- c++如何防止一个类被其他类继承?
- php数组排序综合例子,php数组实例之数组排序
- 阿里云发布首个流式存储与播放解决方案
- java中两短行代码合并一行_帮忙啊!!!!找出两个Java文件相似程度超过某一%的代码行。...
- 2021年中国住宅保安系统市场趋势报告、技术动态创新及2027年市场预测
- lgg7刷机包下载_LGG7One刷机包
- Java初学者作业——声明变量储存商品信息并进行输出
- 阿里云服务大规模故障:运维操作失误
- 【源码解析】Activity的启动模式
- PAT (Basic Level) Practice (中文)1044 火星数字 (20 分)(Java实现)
- 文本域换行 php,js获取textarea文本域自动换行符
- LaTex Verbatim 环境下使用数学符号
- 腾讯云4核8g10M轻量服务器支持多少人在线?
- windows下安装VMware Workstation14.0Pro(VMware系列一)
- 谈谈Http长连接和Keep-Alive以及Tcp的Keepalive
- 计算机pscs6教程,photoshop CS6零基础入门教程
- Android系统固件定制方式