In this Article
Selenium 用于浏览器自动化和数据抓取已有十多年,到 2026 年仍被广泛使用。Python 和 Java 团队借助它渲染 JavaScript、填写表单,并采集登录后的数据。但如果从单个数据中心 IP 运行,你很快就会被封禁或限速。解决办法是让 Selenium 通过代理访问目标网站,最好使用住宅代理,这样每个会话看起来都更像普通用户。棘手之处在于:Chrome 不会通过 Selenium 的标准选项接受代理用户名和密码,而大多数教程仍推荐用于此场景的包(selenium-wire)现在已归档,并且会在当前依赖项下出问题。本指南会展示 2026 年真正可用的配置方式,然后按价格、成功率和集成体验对 8 款最佳 Selenium 代理进行排名。
我是 Andrii Byzov,一名 AI-Native Fractional CMO,每天都会运行基于 Selenium 的数据采集流程。下文将介绍稳定可靠的代理配置、可替代 selenium-wire 的认证方案,以及值得投入预算的服务商。其中,DataImpulse 住宅代理以 $1/GB 成为高性价比基准。
要点速览
- 使用 Chrome 标志设置无需身份验证的代理。 将
--proxy-server=http://host:port添加到ChromeOptions;它会应用于整个驱动会话。当你的代理支持 IP 白名单(无需用户名/密码)时,这是最简单的方式。 - Selenium 的标准选项无法向 Chrome 传递 HTTP 代理凭据。 对于用户名/密码身份验证,请使用 IP 白名单、Chrome 凭据扩展程序(例如
selenium-authenticated-proxy辅助工具),或 SeleniumBase 的Driver(proxy="user:pass@host:port")。 - 到 2026 年,请不要再使用
selenium-wire。 该项目已被上游归档,而且在较新的blinker版本中导入时会崩溃,请改用上述选项。 - Chromium 不支持 SOCKS5 身份验证,因此请将经过身份验证的住宅代理保留在 HTTP/HTTPS 端点上,并将 SOCKS5 留给 IP 白名单访问。
- DataImpulse 是高性价比之选,住宅代理 $1/GB 按量付费,数据中心代理 $0.50/GB,移动代理 $2/GB,覆盖 195 个国家/地区的 90M+ IP,支持 HTTP/HTTPS/SOCKS5、国家/城市/ASN 定位,以及 IP 白名单,可让 Selenium 只用一行设置完成配置,价格却只是企业级方案的一小部分。
如何在 Selenium (Python) 中设置代理
根据代理采用 IP 白名单还是用户名/密码认证,可选择以下三种配置方式。
1. 无需认证 / IP 白名单(最简单)
在 DataImpulse 仪表板中将你的服务器 IP 加入白名单,这样代码中就不需要凭据:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=http://gw.dataimpulse.com:823')
driver = webdriver.Chrome(options=options)
driver.get('https://httpbin.org/ip') # verify the egress IP
print(driver.find_element('tag name', 'body').text)
driver.quit()
2. 使用 SeleniumBase 进行用户名/密码认证
SeleniumBase 会在底层处理已认证代理,因此只需一个参数即可完成设置,是 selenium-wire 最简洁的替代方案:
from seleniumbase import Driver
# __cr.us targets the US; append any country code
driver = Driver(proxy="YOUR_LOGIN__cr.us:[email protected]:823")
driver.get("https://httpbin.org/ip")
print(driver.find_element("tag name", "body").text)
driver.quit()
3. 使用凭据扩展进行用户名/密码认证
如果你继续使用原生 Selenium,selenium-authenticated-proxy 辅助工具会生成一个小型 Chrome 扩展,在运行时注入你的凭据,这是标准模式,因为 Chrome 不会从代理 URL 中读取凭据。如需查看仍在维护的最新操作指南,请参阅 DataImpulse 的 Selenium 代理教程。请注意,SOCKS5(--proxy-server=socks5://gw.dataimpulse.com:824)仅在无认证时可用,因此对于需要凭据的住宅代理,请使用 HTTP/HTTPS 端点。
适用于 Selenium 的最佳代理一览
| 提供商 | 最适合 Selenium | 住宅代理价格 | 认证选项 | 亮点 |
|---|---|---|---|---|
| DataImpulse | 性价比最佳,适合内部数据流程 | $1/GB PAYG | IP 白名单 + user:pass | 90M+ 池,官方 Selenium 教程,流量永不过期 |
| Bright Data | 企业级需求 + Scraping Browser | 促销价约 $2.50/GB,常规价 $5/GB | IP 白名单 + user:pass | 可通过 WebDriver/CDP 接入的托管 Scraping Browser,以及 Web Unlocker |
| Oxylabs | 企业级 SLA | 从 $6/GB 起 | IP 白名单 + user:pass | 175M+ 池,Web Scraper API,官方指南 |
| Decodo | 中端市场,提供完整地理定位选项 | $3.75/GB 入门;1TB+ 约 ~$2 | IP 白名单 + user:pass | 115M+ 池,粘性最长 24h |
| IPRoyal | 长粘性会话 | 从 $7.35/GB 起 | IP 白名单 + user:pass | 粘性最长 7 天;低价 PAYG 入门 |
| SOAX | 住宅 + 移动混合 | $3.60/GB Starter | IP 白名单 + user:pass | 155M+ 住宅,33M+ 移动 |
| Webshare | 预算有限的自助用户 | 住宅从 $3.50/mo 起;数据中心 $2.99/mo | IP 白名单 + user:pass | 免费套餐,最便宜的数据中心 |
| NetNut | ISP 住宅代理的稳定性 | 从 $3.53/GB 起 | IP 白名单 + user:pass | Consumer-ISP 静态 IP,快速轮换 |

简要推荐
DataImpulse 是 Selenium 抓取的高性价比基准选择,住宅代理按量付费 $1/GB(数据中心 $0.50/GB,移动 $2/GB),覆盖 195 个国家/地区的 90M+ IP,支持 HTTP/HTTPS 和 SOCKS5,可通过用户名进行国家/城市/ASN 定向,支持 IP 白名单(因此 Selenium 设置保持一行即可),并提供官方 Selenium 教程。流量永不过期,因此测试运行不会消耗订阅。支持为 24/7 真人服务;公布的成功率为 99.51%;G2 评分为 4.8/5。当你运行自己的 Selenium 流水线并希望将每个成功页面的成本降到最低时,它通常是首选。
Bright Data 是企业级之选,除了住宅代理(促销约 $2.50/GB,常规 $5)之外,其托管的 Scraping Browser 可通过 WebDriver/CDP 从 Selenium 连接,并捆绑代理和反机器人能力,另有 Web Unlocker。Oxylabs($6/GB 起,175M+ 池)是具备 SLA 等级的企业选项,并提供有文档说明的 Selenium 指南。Decodo($3.75/GB 起,粘性可达 24h)是均衡的中端市场选择。IPRoyal($7.35/GB 起,粘性最长可达 7 天)适合长时间、需要稳定会话的 Selenium 流程。SOAX($3.60/GB,155M+ 住宅 + 33M+ 移动)在你需要移动 IP 时表现强劲。Webshare(免费套餐,数据中心 $2.99/mo 起)是预算型自助入门选择,而 NetNut($3.53/GB 起)则是 ISP 住宅代理的稳定性之选。
使用 Selenium 时选择轮换代理还是粘性代理
这两种模式各有适用场景。轮换住宅代理,每次连接都使用新的 IP,是大规模采集的默认选择:抓取大量页面、列表或 SERP 等请求彼此独立的内容。轮换住宅网关会自动分配新 IP;如果要在 Selenium 中显式轮换,请为每个代理启动一个新的驱动会话。粘性会话,同一个 IP 保持数分钟到数天,适用于需要保留状态的流程:登录、完成多步骤流程,或保持购物车状态,在这些场景中,流程中途轮换会破坏会话并触发反机器人机制。整个流程都应使用同一个驱动实例和同一个粘性 IP;IPRoyal 最长可达 7 天的粘性时长是最长的。大多数 Selenium 技术栈会混合使用两者:轮换代理用于采集,粘性池用于多步骤任务。
常见 Selenium 代理错误
- 依赖
selenium-wire。该项目已归档,并且会在当前blinker上出问题,请改用 IP 白名单、SeleniumBase 或凭据扩展。 - 在
--proxy-server中放入凭据。Chrome 会忽略它们;请使用上述认证方法之一。 - 在防护严格的目标网站上使用数据中心 IP,它们很快会被封锁;对于任何具备真实反机器人机制的目标,请使用住宅代理或移动代理。
- 忘记指纹。代理只能隐藏 IP,无法隐藏自动化特征,请搭配真实的 user-agent 和反检测驱动(例如
undetected-chromedriver或 SeleniumBase UC 模式)。 - 期待带认证的 SOCKS5 能正常工作,它在 Chromium 中不支持;对于用户名/密码代理,请使用 HTTP/HTTPS。
Selenium 应该选择哪种代理类型,住宅代理、数据中心代理还是移动代理?
这三种类型对应三类任务:
- 住宅代理 ($1/GB),默认主力选择。真实用户的 ISP IP,适用于大多数 Selenium 抓取场景:电商、SERP、内容,以及任何带有反机器人机制的网站。如果只选一种类型,就选它。
- 移动代理 ($2/GB),真实运营商 IP,适用于最难处理的目标以及移动 Web 场景。它是最受信任的 IP 类型,因此应留给会屏蔽住宅代理的目标。
- 数据中心代理 ($0.50/GB),最便宜且最快,适用于防护较少的任务:解析已采集页面、开放参考数据,或你自己的基础设施。不要把它用于反机器人机制很重的网站。
对于大多数 Selenium 工作,常见模式是使用住宅代理进行采集,使用移动代理处理少数防护严格或仅限应用端的目标,并使用数据中心代理完成低成本、低防护的任务。DataImpulse 在一个按量付费账户中提供全部三种类型,因此单个 Selenium 管道可以将每个会话路由到合适的层级。
如何开始使用 DataImpulse + Selenium
步骤 1. 创建一个 DataImpulse 账户并获取你的住宅代理凭证。$5 / 5GB 入门套餐永不过期,是适合测试的实惠方案。
步骤 2. 最简单的方式:在控制面板中将你的服务器 IP 加入白名单,并将 --proxy-server=http://gw.dataimpulse.com:823 添加到 ChromeOptions,代码中无需凭证。对于用户名/密码方式,请使用 SeleniumBase 的 Driver(proxy="YOUR_LOGIN__cr.us:[email protected]:823") 或凭证扩展。追加类似 __cr.us 的国家/地区代码以进行地理定位。
步骤 3. 如需轮换,请为每个代理启动新的 driver;对于有状态流程,则保留一个粘性 driver,并搭配反检测 driver 和真实的 user-agent。详情请参阅 Selenium 代理教程 和 住宅代理 页面。
常见问题
如何在 Selenium 中使用代理?
将 --proxy-server=http://gw.dataimpulse.com:823 添加到 ChromeOptions 并启动驱动程序即可。当代理采用 IP 白名单时,这样就足够了。对于用户名/密码代理,Selenium 无法原生传递认证凭据,因此请使用 SeleniumBase 的 Driver(proxy="user:pass@host:port") 或Chrome 凭据扩展程序。
Selenium 最适合用哪种代理?
住宅代理,因为大多数目标会封锁数据中心 IP。DataImpulse 的 $1/GB 是高性价比选择(HTTP/HTTPS/SOCKS5、90M+ IP、IP 白名单、官方 Selenium 教程);Bright Data 的 Scraping Browser 或 Oxylabs 适合企业;SOAX 和 DataImpulse 移动代理($2/GB)适合处理应用端场景。请将代理与反检测驱动程序和真实的浏览器指纹搭配使用。
selenium-wire 在 2026 年仍然可用吗?
并不可靠。selenium-wire 已被上游归档,并且在较新的 blinker 版本中导入时会出错(内置的 mitmproxy 依赖的一个模块已被移除)。在 2026 年使用认证代理时,请使用 IP 白名单、SeleniumBase 的 Driver(proxy=...)、Chrome 凭据扩展程序或 Chrome DevTools Protocol,不要使用 selenium-wire。
如何在 Selenium 中使用认证(用户名/密码)代理?
Selenium 无法通过其标准选项向 Chrome 传递 HTTP 代理凭据,Chrome 也会忽略代理 URL 中的凭据。可靠的选择包括:(1) 在提供商处将你的 IP 加入白名单,这样就不需要凭据;(2) 使用 SeleniumBase 的 Driver(proxy="user:pass@host:port");(3) 生成一个用于注入凭据的小型 Chrome 扩展程序(例如 selenium-authenticated-proxy 辅助工具)。仅限 HTTP/HTTPS,不支持认证 SOCKS5。
如何在 Selenium 中轮换代理?
代理在一个驱动程序会话中是固定的,因此可以通过为每个代理启动新的驱动程序来轮换,或使用像 DataImpulse 这样的轮换住宅网关,在每次新连接时分配一个新 IP,这样你就无需管理 IP 列表。对于有状态流程,请在整个会话中保持一个粘性 IP,而不是轮换。
Selenium 代理的费用是多少?
原始住宅代理按 GB 计价,DataImpulse $1/GB(价值底线)、NetNut $3.53 起、SOAX $3.60、Decodo $3.75、Oxylabs $6 起、IPRoyal $7.35;Webshare 提供 $3.50/mo 起的经济型订阅。渲染页面只占 GB 的很小一部分,因此对于大规模 Selenium 数据采集,按 GB 计费的住宅代理远比按记录计费的托管 API 便宜;托管选项适合最难处理的目标。
