Selenium和Playwright怎么配代理IP?自动化测试代理配置与排错

代码示例+认证/SSL/检测三大坑解决
发布于
4

自动化测试(Selenium、Playwright、Puppeteer)里配代理IP,很多人的做法是随便找个代理填进去就开跑。然后遇到各种奇怪问题:连接超时、SSL证书错误、验证码弹窗。这篇整理几个常见坑和解决方法。

一、Selenium配代理

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

opts = Options()
opts.add_argument('--proxy-server=socks5://IP:端口')
driver = webdriver.Chrome(options=opts)

常见坑:Chrome对SOCKS5代理的支持有限——如果你配了SOCKS5但需要用户名密码认证,直接在命令行参数里无法设置。解决办法是用 selenium-wire 库或者配合 proxy.py 做中间代理。

二、Playwright配代理

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        'server': 'socks5://IP:端口',
        'username': 'user',
        'password': 'pass'
    })

Playwright对代理的支持比Selenium原版好——原生支持SOCKS5认证、支持按browser context级别设置代理(不同标签页不同IP)。

三、通用排错项

  • 代理超时:加大timeout参数。代理IP的延迟通常比直连高;
  • SSL证书错误:代理服务器的SSL配置可能有问题。加上 ignore_https_errors=True 跳过证书验证(Playwright);
  • WebDriver被检测:有些目标站会检测Selenium特征。用 undetected-chromedriver 或 playwright-stealth 对抗检测;
  • 验证码:如果每个新IP都被弹验证码,不是你代码的问题——是这个IP信誉太差。换个住宅IP试试。

四、代理IP选择

自动化测试建议用静态住宅IP——固定不变避免频繁换IP触发风控,住宅类型减少被识别为机器人的概率。天行IP住宅N节点月6元(link/5629,blsj四折)是经济选择。更多工具看极跃IP资源导航

常见问题(FAQ)

Selenium和Playwright怎么配代理IP?
Selenium:chrome_options加--proxy-server参数。Playwright:launch时传proxy字典。Playwright原生支持SOCKS5认证,Selenium需要selenium-wire扩展。
自动化测试配代理常见什么坑?
常见坑:SOCKS5认证不支持(Selenium原生不行)、SSL证书错误(加ignore_https_errors)、WebDriver被检测(装stealth插件)、验证码(换住宅IP)。
自动化测试选什么代理IP?
选静态住宅IP——固定不变避免频繁换IP触发风控,住宅类型减少被识别为机器人的概率。天行IP住宅节点月6元起(link/5629,blsj四折)。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600