Python Headless Chrome(无头谷歌浏览器)

这篇具有很好参考价值的文章主要介绍了Python Headless Chrome(无头谷歌浏览器)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、什么是Headless Chrome

在我们使用Selenium驱动ChromeDriver时,可以弹出谷歌浏览器,模拟人为操作谷歌浏览器,这就是自动化测试。虽然很厉害,但是也有一个很现实的问题,因为是要真实加载完整网页,导致效率低。在自动化测试时,我们其实只需要知道是测试完成还是未完成,至于能否看到完整的UI对我们来说是不重要的,那Headless Chrome就是谷歌为此类需求定制的无UI浏览器,因为 UI 需要 CPU 和 RAM 开销,所以Headless Chrome会快很多。

先说下演示环境:

OS:Mac

Python:3.11.1

Chrome:111.0.5563.110

Selenium:4.8.3

2、不使用Headless Chrome

使用的功能:

  • webdriver.Chrome():返回一个 Chrome 驱动程序的实例,我们将通过它与 Chrome 浏览器进行交互。 
  • driver.get(url):向浏览器发送信号以获取指定的URL。 
  • driver.close():向浏览器发送信号以关闭自身。 
  • time.sleep(n):其中 n 是一个整数。将在指定的秒数内暂停脚本执行。我们需要它给我们时间来查看浏览器是否确实在运行。
import time

from selenium import webdriver

# 初始化浏览器
driver = webdriver.Chrome()

# 访问网页
driver.get('https://www.baidu.com')

# 睡眠5秒
time.sleep(5)

# 关闭浏览器
driver.close()

效果:

Python Headless Chrome(无头谷歌浏览器)

3、驱动Headless Chrome

在这里,我们将使用无头自动化浏览器,因为我们将使用此功能:

  • webdriver.Chrome():返回一个 Chrome 驱动程序的实例,我们将通过它与 Chrome 浏览器进行交互。
  • Options():通过这个类的属性我们可以发送浏览器启动参数。在我们的例子中,它是options.add_argument("--headless")它将启动没有 UI(无头)的浏览器。
  • driver.get(url):向浏览器发送信号以获取指定的URL。
  • print(driver.title):将网页标题打印到我们运行脚本的终端中。 
  • driver.close():向浏览器发送信号以关闭自身。 
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 配置选项
options = Options()

# 设置使用无头浏览器
options.add_argument("--headless")

# 初始化浏览器
driver = webdriver.Chrome(options=options)

# 访问网页
driver.get('https://www.baidu.com')

# 打印标题
print(driver.title)

# 关闭浏览器
driver.close()

Python Headless Chrome(无头谷歌浏览器)

4、选项

在需要频繁更新URL的脚步中,可以配置不加载图片等,可以加快速度

from selenium.webdriver.chrome.options import Options

# 配置选项
options = Options()

# 设置使用无头浏览器
options.add_argument("--headless=new")
# 禁用gpu加速
options.add_argument("--disable-gpu")
# 禁止浏览器被监控提示
options.add_experimental_option("excludeSwitches", ["enable-automation"])
# 不自动关闭浏览器
options.add_experimental_option('detach', True)
# 设置请求头user-agent
options.add_argument("--user-agent=''")
# 设置窗口最大化
options.add_argument('--start-maximized')
# 设置窗口大小
options.add_argument('--window-size=200,200')
# 无痕模式
options.add_argument('--incognito')
# 隐藏滚动条
options.add_argument('--hide-scrollbars')
# 禁用js
options.add_argument('--disable-javascript')
# 不加载图片(拦截图片)
options.add_argument('--blink-settings=imagesEnabled=false')

 所有选项可以看这里:

https://peter.sh/experiments/chromium-command-line-switches/文章来源地址https://www.toymoban.com/news/detail-453751.html

到了这里,关于Python Headless Chrome(无头谷歌浏览器)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • chrome谷歌浏览器历史版本

    分享一个可下载谷歌浏览器所有历史版本的链接 chrome历史版本,点击下载 查看浏览器版本 打开浏览器控制台,输入 navigator.appVersion 并回车 如图所示: 浏览器版本为92

    2024年02月09日
    浏览(30)
  • Chrome-谷歌浏览器多开教程

    在我们的日常生活中,我们常常在某一时刻需要在进行多个账号的查看,例如在跨境电商时,我们常常需要开多各店铺页面,又或者,我们在玩游戏时,需要开多个账号同时进行运作,如果我们使用普通软件,也许效果并不理想,也不一定就能够实现多个账户是分别独立运行

    2024年02月03日
    浏览(23)
  • 今天,谷歌Chrome浏览器部署抗量子密码

    谷歌已开始部署混合密钥封装机制(KEM),以保护在建立安全的 TLS 网络连接时共享对称加密机密。 8月10日,Chrome 浏览器安全技术项目经理Devon O’Brien解释说, 从 8 月 15 日发布的 Chrome 浏览器 116 开始,谷歌浏览器将支持 X25519 Kyber768 。 “使用混合 Kyber KEM 保护 Chrome 数据流

    2024年02月12日
    浏览(21)
  • 谷歌浏览器(chrome)安装crx插件

    1、下载crx插件 2、插件扩展名改名为zip 3、解压zip文件 4、打开谷歌浏览器扩展程序 chrome://extensions/ 5、打开开发者模式,加载已解压的扩展程序,安装成功即如图展示    

    2024年02月11日
    浏览(20)
  • Chrome谷歌浏览器安装与配置教程

    谷歌浏览器,界面简洁明了、浏览速度相当快,浏览器中的霸主地位 1、在电脑浏览器中打开下载地址https://www.google.cn/chrome/或百度www.baidu.com搜索“chrome”,打开谷歌官方网站 2、进入官网后单击“ 下载Chrome ” 如果下载之后找不到,可以单击右上角的三个点找到 下载 即可。

    2023年04月13日
    浏览(16)
  • Windows下多Chrome谷歌浏览器版本共存

    某些年代久远的 WEB 应用,必须在指定的浏览器或版本才能正常运行😂,此时就需要多个版本 chrome 浏览器共存。 可以从 https://www.chromedownloads.net/ 下载需要的版本,此处下载的是 87.0.4280.141_chrome64_stable_windows_installer.exe 本文使用的解压工具为 7-zip 把上图的 7z 文件解压到指定

    2024年02月06日
    浏览(29)
  • Chrome谷歌浏览器离线安装方法

    在Chrome官网:https://www.google.cn/intl/zh-CN/chrome/ 里面下载的浏览器一般都是只有几MB的在线安装包。 如果想要下载Chrome的离线安装包,有两种方法。嫌麻烦的同学可以直接使用第一种方法,如果第一种方法的网址失效了,那么按照第二种方法一步一步来即可。 直接打开下载地址

    2024年02月11日
    浏览(33)
  • Selenium 远程调用 Google Chrome 谷歌浏览器

    我最近又使用谷歌浏览远程调用发现不能使用了 参考连接 具体原因是因为 谷歌浏览器在11几的版本(目前是:114.0.5735.91)之后只能使用JDK高版本我目前使用的是JDK17版本远程调用如果是低版本比如102左右的是好使的,新使用方法我更新在下面 一. 前沿 每次重新运行Selenium都直接弹

    2024年02月10日
    浏览(22)
  • Chrome(谷歌浏览器)如何关闭搜索栏历史记录

    Chrome 是大家熟知的浏览器,但是搜索栏的历史记录如何自己一条条的删除确实很麻烦,于是想到了能不能批量删除,发现浏览器并没有提供批量删除的接口,于是自己在网上找了一些解决方案,下面就记录一下。 首先我们想到的是Chrome强大的插件系统,于是就首先想到使用

    2024年02月07日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包