【Python】ChromedriverでWebページにログインしてみる
3回にわけてChrome Driverの導入方法と簡単な使い方を説明してきましたが、今回は実際にWebサービスを制御する方法について紹介したいと思います。
- 【Python】selenumライブラリでChromeを起動する(Webスクレイピングの準備)
- 【Python】Chromedriverをpipコマンドでインストールする方法
- 【Python】WebDriverを自動更新する方法(Webdriver Manager)
と言っても、実際のWebサービスを使うのではな急場で以下のようなログインフォームを作りました。適当なユーザー名とパスワードを入力してボタンを押すと入力内容がメッセージボックスで現れるという単純なものです。今回はPythonでこいつにメッセージボックスを出すところまでをゴールとします。
http://pineplanter.moo.jp/blog_public/login.html
こちらがフォームのHTMLタグです。各要素のidに注目します。今回は僕が記述したのですぐにわかりますが実際のWebサービスの場合はデベロッパーツールなどでタグを解析する必要があります。
ソースコードはこちらです。8行目までは前回と同じコードで、11行目以降の3行がブラウザを制御するプログラムです。find_element関数でidを指定し値を送り、最後にボタンを押しています。
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By driver = webdriver.Chrome(ChromeDriverManager().install()) driver.get('http://pineplanter.moo.jp/blog_public/login.html') print(driver.title) # フォームに入力してログインボタンをクリック driver.find_element(By.ID,"user").send_keys('suzuki') driver.find_element(By.ID,"pass").send_keys('di5293kf') driver.find_element(By.ID,"btn").click() input('press any key to finish :')
上記プログラムの実行する様子を動画で示します。ブラウザが開いて自動で値が入力されボタンが押される(メッセージボックスが現れる)ことがわかるかと思います。
スポンサーリンク