非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Python】ChromedriverでWebページにログインしてみる

   

3回にわけてChrome Driverの導入方法と簡単な使い方を説明してきましたが、今回は実際にWebサービスを制御する方法について紹介したいと思います。

と言っても、実際の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 :')
 

 

上記プログラムの実行する様子を動画で示します。ブラウザが開いて自動で値が入力されボタンが押される(メッセージボックスが現れる)ことがわかるかと思います。

 

スポンサーリンク

 - Python