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

Python Seleniumwire如何正确传递启动参数实现无头模式与隐藏USB报错

配置错误原因

你当前的传参方式不符合Seleniumwire的参数规则:Seleniumwire的配置字典仅用于识别代理相关配置,浏览器启动参数、实验性选项需要通过独立的ChromeOptions对象定义,再传入浏览器初始化方法,因此你之前写在字典里的无头参数、日志屏蔽参数都不会被读取生效。

正确配置代码
from selenium.webdriver import ChromeOptions
from seleniumwire import webdriver

# 1. 定义浏览器启动配置
chrome_options = ChromeOptions()
# 启用无头模式(新版Chrome推荐使用--headless=new参数,兼容性更好)
chrome_options.add_argument("--headless=new")
# 屏蔽控制台日志输出,解决USB、蓝牙报错打印问题
chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])
# 额外禁用USB、蓝牙扫描,从根源避免生成对应报错
chrome_options.add_argument("--disable-usb-discovery")
chrome_options.add_argument("--disable-bluetooth")

# 2. 定义Seleniumwire专属代理配置
sw_options = {
    'proxy': {
        'http': f'http://{proxy_user}:{proxy_pass}@{proxy_url}:{proxy_port}',
        'https': f'https://{proxy_user}:{proxy_pass}@{proxy_url}:{proxy_port}',
        'no_proxy': 'localhost,127.0.0.1'
    }
}

# 3. 初始化浏览器时分别传入两类配置
driver = webdriver.Chrome(
    options=chrome_options,
    seleniumwire_options=sw_options
)
版本兼容说明

如果使用的是112版本以下的旧版Chrome,可以把--headless=new替换为--headless=chrome,即可正常实现无头效果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:39:01