本文将详细介绍如何把动态代理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)
企业级海外代理IP选型核心标准与场景适配要点
海外代理IP 海外HTTP代理 静态代理 隧道代理 爬虫代理
2026-03-26

企业布局海外业务需从合规性、资源质量等维度选海外代理IP,青果网络拥2000W+全球纯净IP,99.9%可用率,多场景适配+7×24技术支持,为跨境电商等业务保驾护航。

海外代理IP性价比选型需综合多维度评估 勿仅以单价为唯一依据
海外代理IP 全球代理IP HTTP代理 爬虫代理 海外IP
2026-03-26

海外代理IP选型勿仅看单价,需结合计费模式、资源覆盖、稳定性等多维度判断。青果网络有2000W+全球纯净IP,99.9%可用率,支持2小时体验,适配跨境电商等多场景。

企业级代理IP选型避坑需聚焦合规性、IP质量与服务能力核心要点
代理IP 国内代理 海外代理IP 爬虫代理 HTTP代理
2026-03-26

企业级代理IP选型需紧盯合规性、IP质量、稳定性及售后,优先选合规服务商。青果网络凭合规IP池、高稳定架构、7×24售后,适配跨境电商等多场景。

企业级代理IP选型需聚焦稳定性、成功率与场景适配核心维度
代理IP 国内代理 海外代理IP 爬虫代理 HTTP代理
2026-03-26

青果网络企业级代理IP,拥国内600万+日更纯净IP、海外2000万+节点,99.9%可用率,自研业务分池架构,全协议多接入,7×24小时服务+正规资质,适配数据采集、电商等高要求场景。

返回
顶部