MetaPii 技術室

あなたの知恵と思いを検索するフラッシュメモアプリMetaPiiのエンジニアブログです。

Python Selenium Chrome セッション保持したまま デバッグ

ログイン後のサイトページでHTML解析やSeleniumの動作確認などサクサクやりたいって方向けです。
何回もログインするは面倒ですよね。

やり方

python

        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を開発しました。

タグ管理(自動補完機能付)できてスニペット同士に関連性をもたせることもできます。
またそのスニペットに関する調査事項やレファレンスなども管理できるノート機能も便利です。
ぜひ一度使ってみてください。

www.metapii.com