Documentation has been updated: see help center and changelog in one place.
Explore
LogoLogo
Oxylabs dashboardProduct
中文
  • Documentation
  • Help center
  • Changelog
中文
  • 总览
  • 代理
    • 集成教程
      • 动态住宅代理教程
        • AdsPower
        • Android
        • BitBrowser(比特浏览器)
        • ClonBrowser
        • Ghost Browser
        • Helium Scraper
        • Hubstudio
        • Incogniton
        • Kameleo
        • MuLogin
        • Multilogin
        • Octoparse
        • Oxy® Proxy 的 Chrome 代理扩展程序
        • ParseHub
        • Playwright
        • Puppeteer
        • Selenium
        • SwitchyOmega
        • Shadowrocket
        • VMLogin
        • VMMask
        • WebHarvy
      • 动态移动代理教程
        • AdsPower
        • Android
        • BitBrowser(比特浏览器)
        • ClonBrowser
        • Ghost Browser
        • Helium Scraper
        • Hubstudio
        • Incogniton
        • Kameleo
        • MuLogin
        • Multilogin
        • Octoparse
        • Oxy® Proxy 的 Chrome 代理扩展程序
        • ParseHub
        • Playwright
        • Puppeteer
        • Selenium
        • SwitchyOmega
        • Shadowrocket
        • VMLogin
        • VMMask
        • WebHarvy
      • 静态数据中心代理教程
        • BitBrowser(比特浏览器)
        • FoxyProxy
        • Hubstudio
        • MuLogin
        • Oxy® 代理管理器
        • Proxifier
        • SwitchyOmega
        • VMMask
      • 动态数据中心代理集成教程
        • AdsPower
        • Hubstudio
        • MuLogin
        • VMMask
    • 静态数据中心代理
      • 企业
        • 入门指南
        • 代理列表
        • 提出请求
        • 企业-协议
        • 将 IP 列入白名单
          • 仪表板
          • RESTful
            • 获取白名单 IP 列表
            • 添加白名单 IP
            • 移除白名单的 IP
            • 正在保存更改(5 分钟冷却时间)
        • 数据中心代理 API
        • 代理轮换工具 - 可选
          • 使用代理轮换工具的会话控制
        • 响应代码
      • 自助服务
        • 入门指南
        • 发起请求
        • 代理列表
        • 代理轮换
        • 位置设置
        • 协议
        • 响应代码
        • 受限目标
    • ISP代理
      • 入门指南
      • 发起请求
      • 代理列表
      • 代理轮换
      • 位置设置
      • 协议
      • 响应代码
      • 受限目标
    • 住宅代理
      • 入门指南
      • 反向连接入口节点
        • 中国入口节点
      • 基本查询
      • 协议
      • 选择国家/地区
      • 选择州
      • 选择城市
      • 选择大洲
      • 会话控制
      • 具体国家/地区的入口节点
      • 端点生成器
      • 其他信息
      • 受限目标网站
      • 公共 API
    • 移动代理
      • 入门指南
      • 反向连接入口节点
        • 中国入口节点
      • 基本查询
      • 协议
      • 选择国家/地区
      • 选择大洲
      • 会话控制
      • 具体国家/地区的入口节点
      • 端点生成器
      • 其他信息
      • 受限目标网站
      • 公共 API
    • 数据中心代理
      • 代理列表
      • IP控制
      • 选择国家
      • 协议
      • 白名单
      • 响应代码
      • 受限目标
      • 公平使用政策
    • (传统!)动态数据中心代理
      • 入门指南
      • 提出请求
      • 选择国家/地区
      • 会话控制
      • 响应代码
      • 受限目标网站
  • 高级代理解决方案
    • 网页解锁器
      • 开始使用
      • 提出请求
        • 会话
        • 地理位置
        • 标头
        • Cookie
        • 自定义状态代码
        • POST 请求
        • JavaScript 渲染
      • 样例响应
      • 用量统计数据
  • 爬虫API
    • 入门
      • API 参考
        • 集成方法
          • Realtime
          • 推拉
          • 代理端口
        • 身份验证
        • 全局参数值
        • 响应代码
        • 用量统计
      • Postman
    • 电商爬虫 API
      • Amazon
        • 参数值
        • 结构化数据
      • Google Shopping
        • 参数值1
        • 结构化数据
      • AliExpress
      • 其他域名
        • 参数值
        • 下载图片
    • SERP 爬虫 API
      • Google
        • 参数值
        • 结构化数据
      • Bing
        • 参数值
      • 其他搜索引擎
    • 网络爬虫 API
      • 其他域名
        • 参数值
        • 下载图片
    • 任务管家 (Scheduler)
    • 自定义解析器 (Custom Parser)
      • 入门
      • 解析指令的示例
      • 函数列表
        • 函数示例
    • 无头浏览器 (Headless Browser)
      • JavaScript 渲染
      • 浏览器指令(测试版)
        • 指令列表
  • 有用链接
    • Oxylabs 仪表板
    • Discord社群
    • GitHub
  • 常见问题
  • 支持
    • 需要帮助?
Powered by GitBook
On this page

Was this helpful?

  1. 代理
  2. 集成教程
  3. 动态住宅代理教程

Selenium

PreviousPuppeteerNextSwitchyOmega

Last updated 2 years ago

Was this helpful?

是一个有助自动化网络浏览器网站测试互动等的工具。当您需要与浏览器互动以执行一些任务时,它非常实用,例如点击按钮、滚动等。即使 Selenium 主要用于网站测试,您亦可用它来进行网络抓取,因为它有助在网站上找到所需的公共数据。

要将 Selenium 集成到 Oxylabs 代理,请遵循以下说明操作:

  • 首先,您需要安装 ,以扩展 Selenium 的 Python 绑定,因为使用默认的 Selenium 模块来实现需要认证的代理会使整个过程变得复杂。您可以使用 pip 命令来执行:pip install selenium-wire。

  • 另一个推荐的集成包是 webdriver-manager。这是一个简化不同浏览器的二进制驱动管理的软件包。在这种情况下,没有必要在每次更新后手动下载新版本的网络驱动程序。

  • 您亦可用 pip 命令来安装 webdriver-manager以及:pip install webdriver-manager。

代理身份验证

设置好后,您便可进入下一个部分 – 代理认证。您会被提示指定您的账户凭证来使代理运作。

USERNAME = "your_username" PASSWORD = "your_password" ENDPOINT = "pr.oxylabs.io:7777"

您需要用您代理用户的用户名和密码调整 your_username 和 your_password字段。

测试代理服务器连接

如果您需要检查代理是否在工作,则应该访问 ip.oxylabs.io。如果一切工作正常,它将返回您正在使用的代理的 IP 地址。

检查代理是否运行:

try:
    driver.get("https://ip.oxylabs.io/")
    return f'\nYour IP is: {driver.find_element(By.CSS_SELECTOR, "pre").text}'
finally:
    driver.quit()

Oxylabs 的住宅代理与 Selenium 集成的完整代码:

from selenium.webdriver.common.by import By
from seleniumwire import webdriver
# A package to have a chromedriver always up-to-date.
from webdriver_manager.chrome import ChromeDriverManager

USERNAME = "your_username"
PASSWORD = "your_password"
ENDPOINT = "pr.oxylabs.io:7777"

def chrome_proxy(user: str, password: str, endpoint: str) -> dict:
    wire_options = {
        "proxy": {
            "http": f"http://{user}:{password}@{endpoint}",
            "https": f"http://{user}:{password}@{endpoint}",
        }
    }

    return wire_options

def execute_driver():
    options = webdriver.ChromeOptions()
    options.headless = True
    proxies = chrome_proxy(USERNAME, PASSWORD, ENDPOINT)
    driver = webdriver.Chrome(
        ChromeDriverManager().install(), options=options, seleniumwire_options=proxies
    )
    try:
        driver.get("https://ip.oxylabs.io/")
        return f'\nYour IP is: {driver.find_element(By.CSS_SELECTOR, "pre").text}'
    finally:
        driver.quit()

if __name__ == "__main__":
    print(execute_driver())
Selenium
Selenium Wire