Selenium のプロキシ アドレスにログイン情報が含まれない理由
WebDriver のプロキシ ケイパビリティを正しく読み取り、認証が必要なプロキシにはブラウザがサポートする方式を選びます。
HTTP ライブラリで動作するプロキシ URL は、Selenium のブラウザ プロキシ ケイパビリティに直接コピーすると失敗することがあります。ケイパビリティには定められた形式があり、アドレスの設定は認証付きプロキシを使うための一部にすぎません。
WebDriver 仕様では、httpProxy や sslProxy といったフィールドを、省略可能なポートを持つホストとして定義しています。これらは username:password@host 形式の URL を入れる汎用的な場所ではありません。
どのログインが関係しているかを特定する
- ブラウザが外向きプロキシの資格情報を必要とすることがあります。
- 接続先の Web サイトが独自のログインを持つことがあります。
- リモートの WebDriver サービスがテスト ランナーを認証することがあります。
ある接続の資格情報が、自動的に他の接続に適用されるわけではありません。たとえば、リモート WebDriver の URL にユーザー名を追加しても、ブラウザの通信が外向きプロキシに対して認証できることは証明されません。
HTTP 407 応答はプロキシによる認証要求を示します。通知された認証方式を記録し、使用しているブラウザと自動化インターフェースでのサポートを確認してください。
サポートされている認証経路を選ぶ
環境によっては、ブラウザがサポートする認証連携、承認済みの拡張機能、または上流のログインを処理する許可されたローカル プロキシが該当します。それぞれ展開と資格情報の保存に関する要件が異なります。古い認証ダイアログ方式を取り戻すために Selenium をダウングレードするのではなく、現在のブラウザのドキュメントを使用してください。
プロキシ ケイパビリティは新しいセッションの構成として扱い、エンドポイントの形式を曖昧にしないでください。その後、選択した連携を通じて認証を処理します。407 を解決するために証明書の検証を無効にしないでください。それは接続の別の部分を変えるだけで、ログインの問題は未解決のまま残ります。