You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Selenium中,完成验证码验证后如何切换无头模式或禁用图片?

针对登录后切换无头模式/节省资源的解决方案

一、无法直接切换无头模式,但可以用会话复用方案

浏览器启动后没法修改无头模式参数,换个思路就能解决:

  • 用有头浏览器完成登录(手动处理验证码)后,保存当前登录会话的Cookies
  • 关掉有头浏览器,再用无头模式(或带资源限制配置)启动新浏览器,加载保存的Cookies,直接进入登录状态

Python示例代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 第一步:有头浏览器处理登录和验证码
basic_options = Options()
driver = webdriver.Chrome(options=basic_options)
driver.get("你的登录页面URL")

# 在这里手动完成验证码验证、登录操作...

# 保存登录后的Cookies
login_cookies = driver.get_cookies()
driver.quit()

# 第二步:启动无头+禁用图片的浏览器,复用登录会话
optimized_options = Options()
optimized_options.add_argument("--headless=new")  # 启用新版无头模式
# 禁用图片加载
optimized_options.add_experimental_option("prefs", {
    "profile.managed_default_content_settings.images": 2
})
new_driver = webdriver.Chrome(options=optimized_options)
new_driver.get("登录后的目标页面URL")

# 加载保存的Cookies,恢复登录状态
for cookie in login_cookies:
    new_driver.add_cookie(cookie)

# 刷新页面后即可执行后续点击操作
new_driver.refresh()
# 这里写你需要的按钮点击逻辑...

二、登录后直接禁用图片(无需重启浏览器)

如果不想重启浏览器,登录完成后可以通过Chrome DevTools协议(CDP)直接禁用图片加载:

# 登录完成后执行这段代码,立刻禁用图片
driver.execute_cdp_cmd('Emulation.setDisabledImageTypes', {
    'disabledImageTypes': ['png', 'jpg', 'jpeg', 'gif', 'webp', 'svg']
})

三、其他节省资源的实用配置

  • 禁用非必要的JavaScript:如果后续点击操作不依赖JS,可添加启动参数 --disable-javascript(注意:依赖JS的操作不能用)
  • 禁用CSS渲染:添加参数 --disable-css,减少页面渲染开销
  • 缩短页面加载超时:设置 driver.set_page_load_timeout(10),避免等待无关资源加载
  • 用启动参数直接禁用图片:启动浏览器时加 --blink-settings=imagesEnabled=false,和修改prefs效果一致

内容的提问来源于stack exchange,提问作者sadcat_1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 02:57:17