Python-Selenium中chromeDriver限制图片和Javascript加载

本文介绍如何在Selenium中通过Chrome选项禁用图片和JavaScript加载,以提高页面加载速度。通过设置`prefs`参数,可以模拟用户在浏览器中禁用这些功能。
Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

我们有的时候使用Selenium会希望能够限制图片和Javascript执行,从而提高网页加载速度。

先上python代码:

from selenium import webdriver

options=webdriver.ChromeOptions()
prefs={
     'profile.default_content_setting_values': {
        'images': 2,
        'javascript':2
    }
}
options.add_experimental_option('prefs',prefs)

browser = webdriver.Chrome(chrome_options=options)
browser.get('http://www.c's/')


讲讲为什么这么做?

看下官方文档:

https://sites.google.com/a/chromium.org/chromedriver/capabilities



从prefs一栏知,我们可以通过方法来修改chrome浏览器的用户设置参数来实现禁用。

(其实就相当于模拟用户设置浏览器罢了,比如你不想要加载图片你可以在浏览器的设置里禁用对吧,现在就通过代码来设置参数)


我们先在浏览器地址中输入chrome://version/ ,查看谷歌浏览器的个人资料路径

个人资料路径 C:\Users\Karwik\AppData\Local\Google\Chrome\User Data\Default

到这个路径下,打开Preferences文件,按Ctrl+F尝试搜索 default_content,搜不到任何内容。

此时我们到Chrome里的内容设置里禁用图片和Javascript,再尝试到Preferences文件中搜索default_content,就会发现:


所以,我们就明白了吧:

要禁用图片和JS其实就是设置Preferences文件中的default_content_setting_values!!

prefs={
     'profile.default_content_setting_values': {
        'images': 2,
        'javascript':2
    }
}
就是在这里通过字典设置,key为2就是禁用的意思。

其它一些参数也可以通过这个方法设定

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Python 中的 Selenium 库是一个强大的工具,用于自动化 Web 浏览器操作,广泛应用于自动化测试网络爬虫开发中。Selenium 支持多种编程语言,包括 Python,提供了丰富的 API 来控制浏览器的行为,例如导航、点击、输入文本等。 ### 安装与配置 要使用 Selenium,首先需要安装 PythonSelenium 包,可以通过 pip 命令安装: ```bash pip install selenium ``` 此外,还需要下载与浏览器版本匹配的 WebDriver。例如,如果使用 Chrome 浏览器,则需要下载 ChromeDriver;对于 Firefox,则需要 GeckoDriver。WebDriver 是一个关键组件,它充当浏览器与 Selenium 代码之间的桥梁 [^3]。 ### 基本使用 下面是一个简单的例子,演示了如何使用 Selenium 打开百度首页并关闭浏览器: ```python import time from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.baidu.com') time.sleep(3) # 等待3秒 driver.quit() # 关闭浏览器 ``` 这段代码首先导入了必要的模块,创建了一个 Chrome 浏览器实例,然后通过 `get` 方法访问指定的 URL,最后等待几秒后关闭浏览器 [^2]。 ### 高级功能 Selenium 提供了许多高级功能,如处理弹窗、切换窗口、执行 JavaScript 脚本等。例如,可以使用以下代码来执行 JavaScript 脚本来滚动页面到底部: ```python driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") ``` 此外,Selenium 还支持与 YAML 文件结合使用,以实现更灵活的测试配置。YAML 是一种人类可读的数据序列化格式,常用于配置文件。通过 PyYAML 库,可以在 Python 中轻松地读写 YAML 文件 [^4]。 ### 文档与教程资源 对于希望深入了解 Selenium 的开发者来说,有多个中文资源可供参考。菜鸟教程提供了详细的 Selenium 教程,涵盖了从基础概念到实际应用的各个方面。w3cschool 提供了 Selenium with Python 的中文手册,适合初学者进阶者学习。腾讯云开发者社区的文章则深入解析了 PythonSelenium 库的使用方法,而 Python 爬虫利器五之 Selenium 的用法则详细分析了 Selenium 在爬虫领域的应用 [^1]。 ### 相关问题 1. 如何在 Python 中使用 Selenium 进行表单提交? 2. Selenium 如何处理网页中的弹出窗口? 3. 如何利用 Selenium YAML 构建灵活的测试框架? 4. Selenium 在自动化测试中有哪些最佳实践? 5. 如何解决 Selenium 使用过程中常见的异常问题?
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值