Selenium
Selenium 是一个用于自动化网页浏览器交互以进行网站测试等的工具。
要将 Selenium 与 Oxylabs 集成 移动代理 (Mobile Proxies),请按照以下说明操作:
第 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_username 和 your_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 的完整 移动代理 (Mobile Proxies) 集成代码:
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 集成博客文章 此处.
最后更新于
这有帮助吗?

