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

使用Selenium Wire启动带远程调试端口的Chromedriver时遇AttributeError

启动带远程调试端口的Chromedriver时Selenium Wire报错:AttributeError: 'Options' object has no attribute 'pop'

问题重现

我需要启动带有远程调试端口的chromedriver,该操作在常规Selenium中可正常执行,但使用Selenium Wire时出现错误:AttributeError: 'Options' object has no attribute 'pop'

完整代码

from seleniumwire import webdriver 
from seleniumwire.utils import decode
import json
import time

PATH = "/usr/local/bin/chromedriver"

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--remote-debugging-port=9222")
chrome_options.add_argument('--user-data-dir=/Users/benfield/Documents/Chrome debug test')

driver = webdriver.Chrome(PATH, options=chrome_options,seleniumwire_options=chrome_options)

报错信息

Traceback (most recent call last):
  File "/Users/benfield/Desktop/betbot/testwire.py", line 12, in <module>
    driver = webdriver.Chrome(PATH, options=chrome_options,seleniumwire_options=chrome_options)
  File "/Users/benfield/Library/Python/3.9/lib/python/site-packages/seleniumwire/webdriver.py", line 206, in __init__
    config = self._setup_backend(seleniumwire_options)
  File "/Users/benfield/Library/Python/3.9/lib/python/site-packages/seleniumwire/webdriver.py", line 42, in _setup_backend
    addr=seleniumwire_options.pop('addr', '127.0.0.1'),
AttributeError: 'Options' object has no attribute 'pop'

解决方案

错误原因

seleniumwire_options参数需要接收字典类型的配置项,用于设置Selenium Wire的后端代理等功能,但你把ChromeOptions对象传给了这个参数,而Options对象没有字典的pop方法,因此触发报错。

修正后的代码

如果不需要额外配置Selenium Wire,只需将seleniumwire_options设为空字典即可:

from seleniumwire import webdriver 
from seleniumwire.utils import decode
import json
import time

PATH = "/usr/local/bin/chromedriver"

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--remote-debugging-port=9222")
chrome_options.add_argument('--user-data-dir=/Users/benfield/Documents/Chrome debug test')

# 将seleniumwire_options改为空字典,或根据需要添加配置项
driver = webdriver.Chrome(PATH, options=chrome_options, seleniumwire_options={})

可选:添加Selenium Wire配置

如果需要配置Selenium Wire(比如设置代理、修改端口等),可以定义一个字典传入:

seleniumwire_config = {
    'addr': '127.0.0.1',
    'port': 8080  # 自定义代理端口
}

driver = webdriver.Chrome(PATH, options=chrome_options, seleniumwire_options=seleniumwire_config)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 16:30:43