For the complete documentation index, see llms.txt. This page is also available as Markdown.

Selenium

将 Selenium 与 Oxylabs 代理集成,用于浏览器自动化等功能。带代码示例的 Python 和 Java 设置指南。

Selenium 是一个可帮助自动化网页浏览器交互,用于网站测试及更多场景的工具。

观看我们的视频指南,或按照以下步骤集成 Selenium PythonJava 搭配以下 Oxylabs 代理:

  • 住宅代理和移动代理

  • 数据中心代理

  • 独享数据中心代理(企业版)

  • 独享数据中心代理(自助服务版)

  • ISP代理

  • 独享ISP代理

Python 设置

1

设置 Selenium

由于使用默认的 Selenium 模块来实现需要身份验证的代理会使整个过程变得复杂,请安装 Selenium Wire 以使用……扩展 Selenium 的 Python 绑定 pip:

此集成另一个推荐的软件包是 webdriver-manager。它是一个简化不同浏览器二进制驱动管理的软件包:

2

Proxy 认证

按以下格式指定你选择的代理端点和账户凭据:

然后根据你选择的 Oxylabs 代理类型调整它们的值:

住宅代理和移动代理

主机: pr.oxylabs.io

端口: 7777

用户名: customer-USERNAME

密码: PASSWORD

你也可以在住宅代理和移动代理中使用额外参数来设置地理位置(国家、州、城市等)并控制会话。请查看 住宅代理文档 以了解更多。

数据中心代理

主机: dc.oxylabs.io

端口: 8001

用户名: user-username

密码: password

端口是分配给来自 代理列表的 IP 地址的顺序编号。因此,端口 8001 将始终使用你列表中的第一个 IP 地址。你也可以通过将端口设置为 代理 IP 轮换 来启用 8000.

此外,你还可以指定 地理位置,例如美国,方法是将 代理用户名 设置为 user-USERNAME-country-US.

该端口 8001 会随机选择一个 IP 地址,但在会话期间保持一致。或者,你可以通过使用端口 轮换代理 IP 来在每个请求中更换 IP 8000.

如果你想使用特定的 地理位置,例如美国,请将代理用户名设置为 user-USERNAME-country-US.

独享数据中心代理(企业版)

主机: 1.2.3.4 (来自你的 代理列表)

端口: 60000 (HTTP), 1180 (SOCKS5)

用户名: username

密码: password

对于企业版独享数据中心代理(通过销售团队购买),你需要从已获取的 代理列表.

独享数据中心代理(自助服务版)

主机: ddc.oxylabs.io

端口: 8001

用户名: user-username

密码: password

对于自助式独享数据中心代理(通过 Oxylabs 仪表盘购买),端口表示从已获取的 代理列表的 IP 地址的顺序编号。如果你希望每个请求都获得不同的 IP,请将端口改为 8000 以启用 代理轮换.

ISP代理

主机: isp.oxylabs.io

端口: 8001

用户名: user-username

密码: password

对于 ISP 代理,端口会分配给一个特定的 IP 地址及其位置。因此,端口 8001 将始终选择你 代理列表的 IP 地址的顺序编号。如果你希望每个请求都获得不同的 IP,请将端口改为 8000 以启用 代理轮换.

独享ISP代理

主机: disp.oxylabs.io

端口: 8001

用户名: user-username

密码: password

您需要选择分配给所购买的 IP 地址的端口 代理列表,你可以在 Oxylabs 控制面板中找到。 8001 端口将为所有请求选取列表中的第一个 IP 地址。使用端口 8000 可自动进行 代理 IP 轮换.

3

测试连接

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

4

代码示例

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

Java 设置

先决条件

  1. Java 开发工具包 (JDK): 8 版或更高(查找最新版本 此处).

  2. 构建工具: Apache Maven(可用 此处).

  3. Java IDE: 任何支持 Maven 的 IDE 或 CLI。

  4. 浏览器: 本地安装的 Google Chrome(可用 此处).

在添加依赖之前,请先在你首选的 IDE 或 CLI 中初始化一个标准 Maven 项目。安装后,你可以使用以下命令验证 Java 和 Maven 安装:

1

创建你的项目

选择“新建项目”,填写所需详细信息,并将构建系统选择为 Maven:

2

添加依赖

将以下依赖添加到你的项目的 pom.xml 文件中,以包含 Selenium WebDriver、 BrowserMob Proxy (用于 HTTP 基本认证),以及 WebDriverManager:

3

添加源代码

从以下位置下载预配置的代理包装类: Oxylabs Selenium Java 仓库 并将它们添加到你的项目的 src/main/java 目录:

  • ProxySetup.java:存储你的 Proxy Endpoint 参数和账户凭据。

  • ProxyHelper.java:管理 BrowserMobProxyServer 初始化、基本身份验证以及 ChromeDriver 选项。

  • ProxyDemo.java:包含标准和按国家/地区定向的代理请求的示例执行逻辑。

4

配置代理

打开 ProxySetup.java 并根据你选择的 Oxylabs 代理类型更新代理详细信息:

住宅代理和移动代理

主机: pr.oxylabs.io

端口: 7777

用户名: customer-USERNAME

密码: PASSWORD

你也可以在住宅代理和移动代理中使用额外参数来设置地理位置(国家、州、城市等)并控制会话。请查看 住宅代理文档 以了解更多。

数据中心代理

主机: dc.oxylabs.io

端口: 8001

用户名: user-USERNAME

密码: PASSWORD

端口是分配给来自 代理列表的 IP 地址的顺序编号。因此,端口 8001 将始终使用你列表中的第一个 IP 地址。你也可以通过将端口设置为 代理 IP 轮换 来启用 8000.

此外,你还可以指定 地理位置,例如美国,方法是将 代理用户名 设置为 user-USERNAME-country-US.

该端口 8001 会随机选择一个 IP 地址,但在会话期间保持一致。或者,你可以通过使用端口 轮换代理 IP 来在每个请求中更换 IP 8000.

如果你想使用特定的 地理位置,例如美国,请将代理用户名设置为 user-USERNAME-country-US.

独享数据中心代理(企业版)

主机: 1.2.3.4 (来自你的 代理列表)

端口: 60000 (HTTP), 1180 (SOCKS5)

用户名: USERNAME

密码: PASSWORD

对于企业版独享数据中心代理(通过销售团队购买),你需要从已获取的 代理列表.

独享数据中心代理(自助服务版)

主机: ddc.oxylabs.io

端口: 8001

用户名: user-USERNAME

密码: PASSWORD

对于自助式独享数据中心代理(通过 Oxylabs 仪表盘购买),端口表示从已获取的 代理列表的 IP 地址的顺序编号。如果你希望每个请求都获得不同的 IP,请将端口改为 8000 以启用 代理轮换.

ISP代理

主机: isp.oxylabs.io

端口: 8001

用户名: user-USERNAME

密码: PASSWORD

对于 ISP 代理,端口会分配给一个特定的 IP 地址及其位置。因此,端口 8001 将始终选择你 代理列表的 IP 地址的顺序编号。如果你希望每个请求都获得不同的 IP,请将端口改为 8000 以启用 代理轮换.

独享ISP代理

主机: disp.oxylabs.io

端口: 8001

用户名: user-USERNAME

密码: PASSWORD

您需要选择分配给所购买的 IP 地址的端口 代理列表,你可以在 Oxylabs 控制面板中找到。 8001 端口将为所有请求选取列表中的第一个 IP 地址。使用端口 8000 可自动进行 代理 IP 轮换.

5

执行集成脚本

执行 ProxyDemo.java 直接在你的 IDE 中执行,或通过终端使用 Maven 编译并运行打包好的 JAR 文件:

执行后, ProxyDemo 初始化驱动,通过 BrowserMob 将流量路由到指定的 Oxylabs 端点,并打印解析出的出口 IP 地址。

不过,你可能需要安装正确的证书以启用 SSL 支持,并避免下一步中介绍的与证书相关的警告。

6

SSL 证书处理(可选)

该代码使用 BrowserMob Proxy,支持完整的 MITM。不过,你仍可能看到无效证书警告。

程序化绕过(推荐)

传递 --ignore-certificate-errors 通过 ChromeOptionsProxyHelper.java 以在自动化执行期间绕过 SSL 验证。

根证书安装

导入 BrowserMob 根证书(ca-certificate-rsa.cer)到操作系统的信任存储中

  • macOS: 拖动 ca-certificate-rsa.cer钥匙串访问 > 系统 > 证书,右键单击,然后选择 始终信任.

  • Windows: 双击 ca-certificate-rsa.cer下,选择 安装证书,并将导入目标设置为 受信任的根证书颁发机构.

如果您想进一步了解使用 Selenium 进行网络抓取,请阅读我们的 博客文章.

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

最后更新于

这有帮助吗?