2
1

More than 1 year has passed since last update.

Seleniumで認証プロキシを突破する方法

Last updated at Posted at 2022-02-23

組織内でSeleniumを使用する場合Proxy認証が壁となる。調べた結果、Selenium自体の機能により突破することはできないことがわかり、代替案についての数多くのアイデアが紹介されている。各案をトライ&エラーし解決まで非常に時間を要した。
結論として、Selenium-wireがやりたいことに近く最もシンプルだったのでこの方法を採用。気になる点として、webdriverの導入をSelenium-wireから行っており、これが通常のSeleniumと比べ、今後どういう影響があるのか不透明である。

Selenium-wireを使ったProxy認証の突破方法
https://www.youtube.com/watch?v=d8voxp-4Uf8
※Selenium wireをcondaでインストールできず、仕方なくPIPでインストール。混ぜるな危険と聞いており恐る恐る。仮想環境でやってるから大丈夫か?以下URLでCondaでのinstallを記載しているが、できなかった。https://anaconda.org/ralexx/selenium-wire

他の案としては(1)Pyautoguiの使用、(2)Chrome の拡張機能でProxy情報を入れる方法、がある。前者は表示されたプロキシ認証ポップアップに対して、pyautoguiで入力する強引な方法である。この場合プログラムを立ち上げてプロキシを突破するまでの間はPCを操作することができない。またポップアップを表示させないといけないのでヘッドレスモードも不可。

後者はjsファイルをZIP ファイルに格納しChrome拡張機能で取り入れる方法が各所で紹介されているが、当方の実力不足もあり実装できなかった。
https://stackoverflow.com/questions/55582136/how-to-set-proxy-with-authentication-in-selenium-chromedriver-python
https://www.guru99.com/selenium-proxy-authentication.html

他にProxy helperという拡張機能を導入し、Webdriverの立ち上げOptionとしてとりこんでみたが、動作が安定しなかった。中途半端にうまくできたため、この方向にこだわってしまい時間を消費する結果となった。導入に際して拡張機能のPackage化が必要だったりと、調べることが多かった。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1