Python Selenium Chrome セッション保持したまま デバッグ
ログイン後のサイトページでHTML解析やSeleniumの動作確認などサクサクやりたいって方向けです。
何回もログインするは面倒ですよね。
やり方
import chromedriver_binary from selenium import webdriver p_id = 1 ## 自由に決めてOK options = webdriver.ChromeOptions() options.add_argument('user-data-dir=./Chrome') ## ここも自由に決めてOK options.add_argument('--profile-directory=Profile '+p_id) driver = webdriver.Chrome(options=options) driver.get(login_url) sleep(30) ## これ書いておいて、sleepしている間に手でログインすればログインロジックすら不要になる driver.quit()
こうすることで実行フォルダに「Chrome」(user-data-dirで定義したフォルダ)が自動的作成されて、そこにブラウザセッションなどもろもろ保存される。
一回ログインすれば次回からログインなしで実行可能。
※ 金融などセキュリティの高いサイト(セッション保持期間が短いサイト)などはすぐにセッションきれるので要注意
HTML解析のポイント
ちょっと道は外れますが、余談コーナーです。 HTML解析についてだけではなくエンジニアリング全般にいえることですが、とにかく便利なコードをメモしてすぐ取り出せるようにしておくことがなによりも大切です。 それがあるかないかで開発スピードが段違いに差がつきます。
Googleで検索するという手もありますが、繰り返し使うようなコードには不向き。
だからいいと思ったものは自分の中に蓄積していくことが大切です。
課題
その便利なコードをどこにどうやって管理するか
メモ帳やGoogleのスプレッドシートなどでは限界があるため、スニペット管理ツールを使うというのがベターでしょう。
そんな思いからエンジニア向けスニペット管理ツールMetaPiiを開発しました。
タグ管理(自動補完機能付)できてスニペット同士に関連性をもたせることもできます。
またそのスニペットに関する調査事項やレファレンスなども管理できるノート機能も便利です。
ぜひ一度使ってみてください。