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 爬虫的基本用法了. ...
最新文章
- qrcode生产带logo_“白板”口罩打上LOGO装名牌 警方重拳出击清市场
- date类before()方法的主要作用是_黄精的主要作用及中医食疗方法
- [solr] - solr5.2.1环境搭建 - 使用solr自带的jetty服务器
- mysql 剔除不可见字符_机器视觉OCR字符检测在食品瓶盖上的应用
- python 画布包括不了全部组件?_试验程序:画布版九键琴
- 科学地花钱:基于端智能的在线红包分配方案
- 壁式框架内力计算_剪力墙结构设计计算要点和实例
- Win-MASM64汇编语言-LOOP指令
- 例2.11 FatMouse' Trade - 九度教程第21题(贪心算法)
- 图纸管理软件_企业图纸文档的安全管理与使用,是否遇到这些图纸管理问题?...
- 在线工具:找到神器,助你轻松应对各种职场难题
- 计算机连接拒绝访问,打印机拒绝访问,教您打印机拒绝访问怎么解决
- Android布局深究(五)——GridLayout(网格布局)
- 计算机英语口语面试自我介绍,面试英文口语自我介绍(精选8篇)
- nvidia-nccl
- 2023.3.5英语单词学习笔记
- mysql获取本月,本周,本季度初末数据
- vue移动端,使用canvas生成商品海报及自定义海报
- 内网穿透工具NPS安装使用
- [附源码]计算机毕业设计JAVA全国人口普查管理系统论文
热门文章
- 大学综合测评中,使用VBA代码自动完成EXCEL成绩表
- 工程流体力学笔记暂记9(伯努利方程在工程中的应用)
- JAVA程序填空题用公式求e_Java 使用对象 编程练习题
- 从VB来看-InsertionSort(VB插入排序)
- 三、uboot简单介绍
- 历史回顾|创建PG全球生态!PostgresConf.CN2019大会召开
- 审批业务流程方案设计
- 矮人DOS工具箱 4.2:把DOS/Ghost/分区专家集成至启动菜单
- 全国高中生计算机联赛,全国中学生五大学科竞赛
- 软件工程 - 个人主页 - 可行性分析与需求分析文档