selenium - chrome-options

‌ChromeOptions‌ 是 Selenium 库中的一个类,用于配置 Chrome 浏览器的启动参数和功能。

通过 ChromeOptions,用户可以自定义浏览器的行为,以满足不同的测试或爬虫需求。

主要功能:

  1. 页面加载策略‌:可以设置页面加载策略,例如使用eager模式加快页面加载速度,放弃加载CSS样式和静态资源‌;
  2. 窗口管理‌:可以设置浏览器的窗口大小、位置和是否最大化等‌;
  3. 隐身模式‌:通过添加启动参数,可以实现浏览器的隐身模式,适用于需要匿名访问的场景‌。
  4. 无头模式‌:以无界面模式运行浏览器,适用于后台自动化任务‌。
  5. 本地缓存管理‌:可以控制浏览器是否加载本地缓存数据‌。
  6. 控制台日志排除‌:可以排除控制台中的多余日志信息,减少自动化测试时的干扰‌。

使用方法

在 Python 中使用 ChromeOptions 的基本步骤如下:

Copy Code
from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--headless')  # 无头模式
options.add_argument('--disable-gpu')  # 禁用GPU加速
options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2})  # 不加载图片

driver = webdriver.Chrome(options=options)
driver.get('https://example.com')

通过以上设置,可以创建一个无头、不加载图片的Chrome浏览器实例,适用于自动化测试或爬虫任务

常用配置


# 页面加载策略eager放弃加载css样式、静态资源等,提升加载速度
options.page_load_strategy = 'eager'

# 浏览器最大化(指定位置参数和最大化不能同时存在)
options.add_argument('start-maximized')

# 指定浏览器位置
options.add_argument('window-position=0,0')

# 设置浏览器分辨率
options.add_argument('window-size=1920,1080')

# 使用headless无界面浏览器模式,偶有 bug
chrome_options.add_argument('--headless')
# 谷歌禁用GPU加速
chrome_options.add_argument('--disable-gpu')

# 读取本地缓存的操作:webdriver启动的时候默认是不会加载本地缓存数据的。
# 调用本地缓存一定要先关闭所有的浏览器,不然会报错。
# 注:AppData的路径只复制到User Data下即可
options.add_argument(r'--user-data-dir=C:\Users\xxx\AppData\Local\Google\Chrome\User Data')



prefs = dict()

# 去掉账号密码弹出框
prefs['credentials_enable_service'] = False
prefs['profile.password_manager_enable'] = False

# 不加载图片
prefs['profile.managed_default_content_settings.images'] = 2

options.add_experimental_option('prefs',prefs)


# 以开发者模式启动调试chrome,可以去掉提示受到自动软件控制
options.add_experimental_option('excludeSwitches', ['enable-automation']) 

# 去掉提示以开发者模式调用
options.add_experimental_option('useAutomationExtension', False) 


# 去掉控制台多余信息
options.add_experimental_option('excludeSwitches', ['enable-logging'])

# 去掉浏览器提示自动化黄条。
options.add_experimental_option('excludeSwitches', ['enable-automation', 'enable-logging'])


# 隐身模式。(启动隐身模式时无法调用selenium中的switch_to.new_window()函数)
options.add_argument('incognito')


# 去掉控制台多余信息2,可以作为保险的存在。(当发现还有多余信息的时候)
options.add_argument('--log_level=3')
options.add_argument('--ignore-certificate-errors')

driver = webdriver.Chrome(options=options)

posted on   疯狂的妞妞  阅读(99)  评论(0编辑  收藏  举报

(评论功能已被禁用)
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示