# Selenium 代理接入示例

使用 API 提取的来源白名单代理地址启动浏览器，并验证出口与任务隔离。

浏览器驱动对账密代理弹窗的支持差异较大。服务端自动化可以从已加入白名单的固定 IPv4 来源执行 API 提取，再使用本次 `IP:PORT`。

## Python Selenium

```python
from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument(
    "--proxy-server=http://<extracted-host>:<extracted-port>"
)

driver = webdriver.Chrome(options=options)
try:
    driver.get("https://<public-test-host>/ip")
    print(driver.find_element("tag name", "body").text)
finally:
    driver.quit()
```

## 准备

- 运行服务器的真实公网 IPv4 已加入白名单并启用。
- 先取得 `<extracted-host>:<extracted-port>`。
- 提取和浏览器运行在同一来源环境。

## 配置

- 启动参数只包含本次提取的公开网关地址。
- 不把提取链接或结果写入公开日志。

## 隔离

- 每个任务使用独立用户数据目录。
- 限制同时启动的浏览器数量。
- 任务结束后关闭驱动并清理临时状态。

## 验证

- 先访问公开检测页。
- 来源变化或授权失效时重新确认白名单并提取。

html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}
