前回
Webhookってなんだろうな - neco-neko’s blog
からの続きで、今回は外部サイトへの自動ログインスクリプトの作成を進めております。
ここまでで、外部サイトへのアクセスはできているので、
今回はそこからIDとパスワードを自動入力して、ログインボタンを自動的に押下し、ログインできるスクリプトを作ることにしました。
サンプルのスクリプトは検索したらいくらでもひっかかったので簡単に作れるだろうと思ったら大間違いでした。
(私のプログラミングスキルがなさすぎるせいなのですが・・・)
PythonとSeleniumで自動ログインを行う #Chrome - Qiita
参考になるサイト(↑)を見つけたのでこれをコピーすれば大丈夫だろうと思って始めました。
が、、、
find_elementの使い方が分からない、
つまりエレメント(要素)に何を指定したらいいのか分からない・・・
特にIDやNAMEの指定がない外部サイトに苦戦でした。
By.LINK.TEXTを指定するとエラーになってしまう。。。
頑張ってXPATHを調べてBy.XPATHを指定してうまくいった。
さらに困ったのが、
自動ログインをセキュリティで封じているのか分からないが、
ID、PWを入力し、自動的にログインボタンを押すコマンドを実行したら
j_spring_security_check?
的なエラーとともに「このサイトにアクセスできません」という画面に遷移してしまう。
(手動でID、PW入力してログインボタン押せばちゃんとログインできる)
とりあえず、上記の事象は特定のサイトだけのようで、他のサイトでは自動ログインできるサイトもあったのでそっちで続けました。
(j_spring_security_check?は解決できていない><)
そして、何とかログインできるようになったら勝手にブラウザが消えてしまう・・・
消えないで・・・
とかなんとかやっているうちに自動ログインすることができました。
よかったよかった。
調べながらやっているとWebスクレイピングとかspring_securityの認証についてとか、本線とは違う知識も少し身について面白いですね。
次はzapierかmakeと格闘かな。
大変そうだな・・・
おしまい。