在 HTTP 库中可用的代理 URL,直接复制到 Selenium 的浏览器代理能力中可能会失败。该能力有固定的格式,而配置地址只是使用需认证代理的一部分。

WebDriver 规范将 httpProxy 和 sslProxy 等字段定义为带可选端口的主机。它们并不是放置 username:password@host 这类 URL 的通用位置。

确认涉及的是哪一种登录

  • 浏览器可能需要向出站代理提供凭据。
  • 目标网站可能另有自己的登录。
  • 远程 WebDriver 服务可能要对测试运行器进行认证。

一个连接的凭据不会自动适用于其他连接。例如,把用户名加到远程 WebDriver 的 URL 中,并不能证明浏览器流量可以向出站代理完成认证。

HTTP 407 响应表明出现了代理质询。记录所通告的认证方式,并检查你使用的浏览器和自动化接口是否支持。

选择受支持的认证途径

视环境而定,这可能是浏览器支持的认证集成、已获批准的扩展,或处理上游登录的授权本地代理。每种方式在部署和凭据存储上的要求都不同。请使用当前浏览器文档,而不是降级 Selenium 去恢复旧的认证对话框方式。

把代理能力视为新会话的配置,并保持端点格式明确无歧义。然后通过所选集成来处理认证。不要为了绕过 407 而关闭证书验证;那会改动连接的另一部分,并让登录问题依然悬而未决。

相关文章