GBProxies

如何在Selenium中使用代理

Selenium中的Chrome不接受--proxy-server标志中的用户名和密码。最简单的方法是使用selenium-wire,它会为您处理登录。

步骤

  1. 使用pip install selenium-wire安装selenium-wire
  2. 在seleniumwire_options中传递包含用户名和密码的代理URL
  3. 启动驱动程序并打开目标页面
  4. 使用会话ID在整个测试中保持一个IP

示例代码

from seleniumwire import webdriver

proxy = "http://USERNAME-cc-ca:PASSWORD@gw.gbproxies.cc:10000"
driver = webdriver.Chrome(seleniumwire_options={
    "proxy": {"http": proxy, "https": proxy, "no_proxy": "localhost,127.0.0.1"}
})
driver.get("https://api.ipify.org")
print(driver.find_element("tag name", "body").text)
driver.quit()

将USERNAME和PASSWORD替换为控制台代理页面中的登录信息。端口10000是住宅HTTP代理;请查看下方每个产品的端口。

提示

  • 关闭Chrome偏好设置中的图片以节省GB
  • 为每个粘性会话运行一个驱动程序

常见问题

我可以使用普通的Selenium而不需要额外的包吗?

Chrome需要扩展或selenium-wire来处理代理登录;Firefox可以从配置文件中读取凭据。

如何在Selenium中使用代理