本文将详细介绍如何把动态代理IP集成到Selenium中,覆盖Chrome、Firefox两大主流浏览器,包含无密码代理、带账号密码代理、动态切换代理三种核心场景,所有方案均提供可直接复制使用的代码,帮助你快速完成代理IP与自动化测试、数据采集等业务的适配。

无账号密码的动态代理IP集成方案(Chrome)

这种方案适用于公开代理、企业内网代理等仅需IP+端口即可使用的动态代理场景,配置步骤简单,无需额外插件。

HTTP/HTTPS/SOCKS5代理配置

直接通过Chrome的启动参数指定代理服务器,代码可直接复制使用:

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

# 1. 设置代理(你的动态代理IP:端口)

proxy = "123.123.123.123:8888"

# 2. 配置Chrome选项

chrome_options = Options()
chrome_options.add_argument(f'--proxy-server=http://{proxy}')

# 3. 启动浏览器

driver = webdriver.Chrome(options=chrome_options)

# 测试访问

driver.get("http://httpbin.org/ip")
print("当前使用IP:", driver.page_source)

针对不同协议的代理,只需修改启动参数中的协议前缀:

# HTTPS代理

chrome_options.add_argument(f'--proxy-server=https://{proxy}')

# SOCKS5代理

chrome_options.add_argument(f'--proxy-server=socks5://{proxy}')

带账号密码的动态代理IP集成方案(Chrome)

大多数企业级动态代理IP服务需要账号密码验证,Chrome无法直接通过启动参数传递认证信息,需通过自动生成的浏览器扩展完成代理认证。

完整可运行代码

该方案会自动生成代理认证插件,全程静默完成认证,不会触发浏览器的账号密码输入弹窗:

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

# ===================== 你的代理信息 =====================

PROXY_HOST = "proxy.example.com"
PROXY_PORT = 9999
PROXY_USER = "your_username"
PROXY_PASS = "your_password"
# ======================================================

# 自动生成代理认证插件

def create_proxy_auth_extension(proxy_host, proxy_port, proxy_user, proxy_pass):
    manifest_json = """
    {
        "version": "1.0.0",
        "manifest_version": 2,
        "name": "Proxy Auth",
        "permissions": ["proxy", "tabs", "unlimitedStorage", "<all_urls>", "webRequest", "webRequestBlocking"],
        "background": {"scripts": ["background.js"]},
        "minimum_chrome_version": "22.0.0"
    }
    """

    background_js = f'''
    var config = {{
        mode: "fixed_servers",
        rules: {{
            singleProxy: {{
                scheme: "http",
                host: "{proxy_host}",
                port: {proxy_port}
            }},
            bypassList: ["localhost", "127.0.0.1"]
        }}
    }};

    chrome.proxy.settings.set({{value: config, scope: "regular"}}, function() {{}});

    function callbackFn(details) {{
        return {{
            authCredentials: {{
                username: "{proxy_user}",
                password: "{proxy_pass}"
            }}
        }};
    }}

    chrome.webRequest.onAuthRequired.addListener(
        callbackFn,
        {{urls: ["<all_urls>"]}},
        ['blocking']
    );
    '''

    # 打包成crx插件
    plugin_file = "proxy_auth_plugin.zip"
    with zipfile.ZipFile(plugin_file, 'w') as zp:
        zp.writestr("manifest.json", manifest_json)
        zp.writestr("background.js", background_js)
    return plugin_file

# 启动带代理的Chrome

proxy_plugin = create_proxy_auth_extension(PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS)

chrome_options = Options()
chrome_options.add_extension(proxy_plugin)

driver = webdriver.Chrome(options=chrome_options)
driver.get("http://httpbin.org/ip")
print("当前出口IP:", driver.page_source)

方案核心优势

  • 全程静默认证,不会干扰脚本的自动化运行
  • 适配绝大多数需要账号密码验证的动态代理服务
  • 运行稳定,不会出现代理失效或浏览器崩溃的情况

无需重启浏览器的动态切换代理方案

对于需要高频切换IP的批量业务处理、多地区数据采集等场景,无需重启浏览器即可动态切换代理的方案能大幅提升效率,这里推荐使用Selenium-Wire工具。

工具安装与基础使用

首先通过pip安装依赖:

pip install selenium-wire

然后使用以下代码实现代理的动态切换:

from seleniumwire import webdriver

# 初始代理配置

proxy1 = {
    'http': 'http://user:pass@ip:port',
    'https': 'http://user:pass@ip:port'
}

driver = webdriver.Chrome(seleniumwire_options={'proxy': proxy1})
driver.get("http://httpbin.org/ip")

# ========== 动态切换新代理 ==========

proxy2 = {
    'http': 'http://user:pass@new-ip:port',
    'https': 'http://user:pass@new-ip:port'
}

driver.proxy = proxy2  # 一行代码完成代理切换
driver.get("http://httpbin.org/ip")

方案核心特性

  • 无需重启浏览器,直接通过代码切换代理IP
  • 支持带账号密码的代理服务
  • 同时具备请求抓包、请求修改等扩展功能,适配复杂业务场景

Firefox浏览器的代理IP集成方案(备用)

如果你的业务需要适配Firefox浏览器,可使用以下配置方案:

from selenium import webdriver

profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", "ip_address")
profile.set_preference("network.proxy.http_port", port_number)
profile.set_preference("network.proxy.socks_username", "your_username")
profile.set_preference("network.proxy.socks_password", "your_password")

driver = webdriver.Firefox(firefox_profile=profile)
driver.get("http://httpbin.org/ip")

集成过程中的常见问题排查

在配置代理IP与Selenium集成时,若遇到问题可按以下步骤排查:

  1. 代理不生效:检查代理协议(HTTP/HTTPS/SOCKS5)是否与配置一致,确认代理服务没有IP白名单限制
  2. 弹出账号密码输入框:对于带密码的代理,必须使用自动生成插件或Selenium-Wire方案,不能直接通过启动参数配置
  3. Chrome启动失败:可能是浏览器插件冲突,可尝试启用无痕模式启动,或检查端口是否被其他程序占用

为什么相关场景会优先考虑青果网络的代理IP服务

在需要稳定代理IP支持的Selenium自动化、数据采集等场景中,不少企业会选择青果网络的服务,其核心能力能很好适配这类业务的需求。

资源覆盖与调用稳定性

青果网络是国内领先的企业级代理IP服务商,已深耕行业十一年。国内代理资源基于三大运营商宽带构建,每日更新600万+纯净IP资源,覆盖全国300多个城市与地区;海外业务可提供2000W+纯净全球HTTP与海外代理IP资源池。这种广覆盖的资源池能满足多地区数据采集、跨区域业务验证等场景的需求,同时网络延迟低于100毫秒,可用率高达99.9%,保证Selenium脚本的稳定运行。

适配多场景的产品类型

青果网络的产品类型覆盖国内代理IP、全球HTTP、短效代理、隧道代理静态代理与独享代理,不同类型的代理可适配不同的Selenium业务场景:比如短效代理适合高频切换IP的批量业务,隧道代理适合需要持续稳定IP的长期自动化任务,独享代理适合对访问环境一致性要求极高的业务。

接入支持与测试体验

青果网络提供国内代理IP 6小时测试与全球HTTP 2小时体验,技术团队7×24小时在线支持,能帮助你快速验证代理IP与Selenium的集成效果,遇到问题时可及时获得技术支持。同时,所有IP上线前均经过检测验证,保证IP的纯净度,避免因IP质量问题导致Selenium脚本运行异常。

业务分池提升运行成功率

青果网络采用自研代理服务端与业务分池技术,整体业务成功率比行业平均高出约30%,对于需要大量请求的Selenium数据采集、自动化测试等场景,能有效减少请求失败的概率,提升业务运行效率。

注意事项

全球HTTP均不支持在中国大陆地区网络环境下使用。

总结

本文介绍了四种动态代理IP与Selenium集成的核心方案,分别适配不同的业务场景:无密码代理适合简单的公开代理或内网代理场景,带密码代理是企业级服务的标准配置方案,动态切换代理适合高频换IP的批量业务,Firefox方案作为备用适配特定浏览器需求。如果你的业务需要稳定、高可用的代理IP支持,青果网络的服务能为Selenium集成提供可靠的资源与技术保障。

常见问题解答

Q1:Selenium集成代理IP后,为什么访问目标网站时还是使用本地IP?
A1:首先检查代理协议是否与目标网站的协议匹配,比如访问HTTPS网站时需配置HTTPS或支持HTTPS的代理;其次确认代理服务是否正常运行,没有白名单或地域限制;最后检查代码中的代理配置是否正确,比如IP、端口、账号密码是否有误。

Q2:是否可以在Selenium中同时使用多个代理IP?
A2:可以通过Selenium-Wire工具实现动态切换代理IP,无需重启浏览器,只需在代码中重新配置代理参数即可完成切换,适合需要使用多IP的批量业务场景。

Q3:集成代理IP后,Selenium脚本的运行速度会变慢吗?
A3:代理IP的运行速度主要取决于代理服务商的网络质量,选择高可用的代理IP服务商,其网络延迟低于100毫秒,对脚本运行速度的影响极小,同时稳定的代理服务能避免因IP失效导致的脚本中断,反而能提升整体运行效率。

青果网络代理IP - CTA Banner
点赞(89)
2026年数据采集代理IP怎么选?稳定性和接入对比
代理IP 数据采集 服务商对比 选型参考 访问稳定性
2026-04-22

数据采集选代理IP,勿仅看IP量、价格,需聚焦合规、持续稳定性、接入效率及维护成本,可依长期稳定、预算灵活、资源覆盖需求选青果/极安/芝麻代理。

多线程爬虫代理IP选型指南:稳定性与接入要点
爬虫代理 代理IP 动态代理 IP池 海外代理IP
2026-04-22

多线程爬虫选代理IP,核心看持续调用承接力、访问环境稳定性及排查支持,青果网络适配网站采集器等长期采集场景,助力提升业务稳定性。

数据采集代理IP怎么选:合规使用与长期接入指南
爬虫代理 代理IP 动态代理 HTTP代理 海外代理IP
2026-04-22

数据采集、舆情监测等正式场景,选代理IP要合规稳定适配业务,优先青果网络这类企业级方案,避开风险高的免费公共代理。

2026年数据采集代理IP对比:长期使用怎么选
代理IP 数据采集 服务商对比分析 持续请求稳定性 选型参考
2026-04-22

合规前提下,数据采集选代理IP需匹配业务阶段:长期稳定优先青果网络(99.9%高可用、业务成功率超行业30%);预算敏感选极安代理;资源需求多选芝麻代理,核心看稳定性与维护成本。

返回
顶部