Documentation has been updated: see help center and changelog in one place.

Selenium

Selenium 是一个帮助自动化网页浏览器交互以进行网站测试等的工具。

要将 Selenium 与 Oxylabs 集成 住宅代理,请按照以下说明操作或观看本视频教程:

步骤 1。 安装 Selenium Wire 用于扩展 Selenium 的 Python 绑定,因为使用默认的 Selenium 模块来实施需要身份验证的代理会使整个过程复杂。你可以使用 pip 命令: pip install selenium-wire

另一个推荐用于此集成的软件包是 webdriver-manager。这是一个简化不同浏览器二进制驱动管理的包。在这种情况下, 无需在每次更新后手动下载新的 web 驱动程序版本.

你也可以使用 webdriver-manager 通过以下 pip 命令安装: pip install webdriver-manager

步骤 2。 指定你的帐户凭据以使代理工作:

USERNAME = "your_username"

PASSWORD = "your_password"

ENDPOINT = "pr.oxylabs.io:7777"

你需要调整your_usernameyour_password 字段为你的代理用户的用户名和密码。

您可以在我们的 仪表板.

步骤 3。通过访问检查代理是否在工作 ip.oxylabs.io。如果一切正常——它将返回你正在使用的代理的 IP 地址。

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

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

from selenium.webdriver.common.by import By
from seleniumwire import webdriver
# 一个用于保持 chromedriver 始终为最新的包。
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"https://{user}:{password}@{endpoint}",
        }
    }

    return wire_options

def execute_driver():
    options = webdriver.ChromeOptions()
    options.add_argument('--headless')
    proxies = chrome_proxy(USERNAME, PASSWORD, ENDPOINT)
    driver = webdriver.Chrome(
    ChromeDriverManager(driver_version='<VERSION>').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}'
    最后:
        driver.quit()


if __name__ == '__main__':
    print(execute_driver())

如果你想了解更多关于使用 Selenium 进行网页爬取的信息,请阅读我们的 博文.

查找原始的 Selenium 集成博客文章 此处.

最后更新于

这有帮助吗?