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

Selenium更新后headless属性弃用及options参数报错,求代码修复

问题修复方案

你的代码存在两个问题,分别对应报错里的警告和TypeError,以下是针对性修复:

1. 解决 TypeError: 参数重复问题

Selenium 4.x版本后,webdriver.Chrome()不再直接接收驱动路径作为第一个位置参数,需要通过Service对象传递驱动路径,否则会触发参数冲突报错。

2. 解决 headless 属性废弃警告

options.headless = True/False已被官方废弃,需改用添加命令行参数的方式启用无头模式,推荐使用Selenium 4.10+支持的新无头模式--headless=new(该模式更接近真实浏览器环境)。

修复后的完整代码

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# 控制是否启用无头模式
is_headless = False  # 改为True即可启用无头模式

# 初始化Chrome选项
options = webdriver.ChromeOptions()
if is_headless:
    options.add_argument('--headless=new')
    options.add_argument('--log-level 3')

# 初始化Chrome驱动
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.maximize_window()

关键修改点说明

  • 新增导入Service类,用于管理ChromeDriver的路径
  • 用变量is_headless控制无头模式开关,替代原废弃的options.headless属性
  • 启用无头模式时添加--headless=new参数,替代旧的属性赋值方式
  • 初始化驱动时通过service关键字参数传递驱动路径,彻底解决参数冲突问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 12:35:11