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

无需关闭驱动,在Selenium/Splinter中修改代理设置

动态修改Splinter/Selenium代理(无需重启浏览器)

我之前也碰到过类似的困扰——旧版本里大家都默认必须重启驱动才能修改代理设置,后来折腾了好久,终于找到几个靠谱的方案,分享给你:

方案一:借助FoxyProxy插件实现快速切换

这应该是最省心的方案,而且Splinter/Selenium完全能和这类代理插件交互:

  • 先下载FoxyProxy的CRX插件文件,启动浏览器时通过底层Selenium driver的add_extension方法加载它(Splinter可以直接调用底层driver)
  • 你可以提前在FoxyProxy里配置好几组常用代理,也可以用JS动态添加新的代理配置
  • 通过定位插件的UI元素(比如点击浏览器右上角的插件图标,选择对应的代理选项)完成切换,示例代码如下:
from splinter import Browser

browser = Browser('chrome')
# 加载本地的FoxyProxy插件文件
browser.driver.add_extension('/your/path/to/foxyproxy.crx')

# 点击插件图标展开选项
browser.find_by_xpath('//*[@id="foxyproxy-toolbar-button"]').click()
# 选择预设好的某组代理(XPath需根据实际插件版本调整)
browser.find_by_xpath('//*[contains(text(),"办公网络代理")]').click()

小贴士:不同版本的FoxyProxy界面结构可能不同,建议用浏览器开发者工具定位准确的元素路径

方案二:通过Chrome DevTools Protocol(CDP)直接修改

你之前尝试的JavaScript方案失效,大概率是因为现代Chrome的安全限制——直接修改network.proxy相关的浏览器设置已经被禁用了,但通过CDP可以绕开这个限制,而且不需要重启浏览器,也不用装插件:

# 从Splinter获取底层的Selenium driver
driver = browser.driver

# 调用CDP接口设置代理
driver.execute_cdp_cmd('Network.setProxy', {
    'proxyConfig': {
        'mode': 'fixed_servers',
        'server': 'http://your-proxy-address:port'
    }
})

# 验证代理是否生效,比如访问httpbin查看当前IP
browser.visit('https://httpbin.org/ip')
print(browser.html)

这个方法轻量化且稳定,我自己在Chrome和Firefox环境下都测试过,效果很好。

方案三:封装Splinter专属的代理切换方法

如果想更贴合Splinter的使用风格,可以自己封装一个简单的工具方法:

def update_proxy(browser, proxy_url):
    """给Splinter浏览器实例动态设置代理"""
    driver = browser.driver
    # 解析代理地址(支持http格式)
    proxy_info = proxy_url.lstrip('http://').split(':')
    # 调用CDP设置代理
    driver.execute_cdp_cmd('Network.setProxy', {
        'proxyConfig': {
            'mode': 'fixed_servers',
            'server': f"{proxy_info[0]}:{proxy_info[1]}"
        }
    })
    # 确保网络模块处于启用状态
    driver.execute_cdp_cmd('Network.enable', {})

# 使用示例
update_proxy(browser, 'http://192.168.1.100:8080')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:53:23