SeleniumでFirefoxブラウザのプロファイルを読み込む【Recaptcha突破、Cookie+アドオン読み込み】
- 作成日時:
- 最終更新日時:
- Categories: web全般
- Tags: python selenium スクレイピング Pythonライブラリ
めったに使うことのないSeleniumではあるが、いざ使おうとするとかなり手間取る。
特にログイン。Django等の管理サイトでログインする際にはパスとIDを控えておけば良いが、GoogleのRecaptchaとかボット対策をしていると当然突破できない。そこで予めブラウザでログインをしておいて、そのプロファイルを読み込めば良い。
プロファイルを読み込みするコード
下記コードをコピペすれば良いだけである。
fp = webdriver.FirefoxProfile("/home/[ユーザー名]/.mozilla/firefox/[プロファイル名].default")
browser = webdriver.Firefox(fp)
Ubuntu18.04の場合、プロファイルは上記コードのパスに保管されている。それを参照する。それだけで良い。プロファイル無しの場合と比べてブラウザの起動にかなり時間がかかるが、プロファイル読み込みに時間がかかっているだけである。4~5秒ほどかかる。
注意点
普段使っているブラウザのプロファイルを参照するので、プロファイルの容量が数Gバイト単位であれば、読み込みに時間がかかりすぎて起動できない場合もある。
そんなときは、ブラウザの設定から不要なCookieやアドオン、キャッシュなどを適宜削除して、1GB未満(あくまでも目安)にした上で読み込ませる。