Python - selenium自动化-Chrome(headless)
2024-09-01 16:04:46
什么是 Headless Chrome
Headless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序。相比于现代浏览器,Headless Chrome 更加方便测试 web 应用,获得网站的截图,做爬虫抓取信息等。相比于较早的 PhantomJS,SlimerJS 等,Headless Chrome 则更加贴近浏览器环境。
Headless Chrome作用
为了提高selenium脚本的执行速度,我们可能会考虑使用PhantomJS这类的Headless 浏览器,但这些工具对JavaScript支持不好或者对web的支持不好,占用资源多,跟真实浏览器存在一定的差异等等问题。Chrome 浏览器提供的Headless Chrome,简单说我们也可以在不打开chrome GUI的情况在Chrome下执行我们的Selenium脚本,可提升脚本的执行效率。
Headless Chrome 对Chrome版本要求
官方文档中介绍,mac和linux环境要求chrome版本是59+,而windows版本的chrome要求是60+
如果想进一步了解headless,请移步官网:https://developers.google.cn/web/updates/2017/04/headless-chrome
示例:
环境:
win10
chrome=63
chromedriver =23
示例代码:
# -*- coding:utf-8 -*-
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_argument('headless')
driver = webdriver.Chrome(chrome_options=option)
# driver = webdriver.Chrome()
# driver = webdriver.PhantomJS()
driver.get('https://www.baidu.com/')
print('打开浏览器')
print(driver.title)
driver.find_element_by_id('kw').send_keys('测试')
print('关闭')
driver.quit()
print('测试完成')
对比发现,执行速度大大提高了。
最新文章
- sql期末复习(二)
- 小记:Bmob云端代码测试APNS推送功能 #代码片段
- 轻量级MVC框架:Nancy学习
- 关于移动App的五个提问
- Servlet-中文乱码
- WebForm跨页面传值---内置对象
- PHP迭代
- 修改Android手机的“虚拟机堆大小”和android:largeHeap来防止APP内存溢出问题
- 《第一行代码》学习笔记38-服务Service(5)
- 分割gbk中文出现乱码的问题解决
- IDF - CTF - 牛刀小试
- Jquery 实现原理之 Ajax
- Android Studio中的Java控制台中出现乱码问题?
- java web项目部署到tomcat 8.5 此驱动程序不支持 Java Runtime Environment (JRE) 1.8 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库
- RaPC(rasterized polygon clipper): A discrete grid-based polygon clipping algorithm
- MyBatis where标签语句
- Oracle 一个中文汉字 占用几个字节,由Oracle中字符集编码决定
- JSmpeg-用JavaScript编写的视频播放器
- Kafka记录Nginx的POST请求
- 高级PHP工程师所应该具备的专业素养
热门文章
- 【JZOJ5264】化学
- COGS 2510. 拯救紫萱学姐
- 支撑微博亿级社交平台,小白也能玩转Redis集群(原理篇)
- Vue中组件
- Linux下聊天和文件传输软件
- JS循环+循环嵌套+经典例题+图形题
- 冰释前嫌——转入Android Studio与连接手机无法识别问题
- 这可能就是你苦苦寻找免费、高颜值、功能强大的 Markdown 编辑器(共5款)
- 利用WinRM实现内网无文件攻击反弹shell
- nginx::基于Nginx+nginx-rtmp-module+ffmpeg搭建rtmp、hls流媒体服务器