Seleniumってブラウザを自動操作できたり、スクレイピングができたりと何かと便利ですよね。
ただ、使い始めたばかりだとどうするのかわかりづらいこともあるかと思います。
そんな人のために、seleniumでブラウザを自動操作するときの要点をまとめましたので、ぜひ参考にしてください。
必要な手順
Seleniumでブラウザを自動操作するときの手順って大まかに3つしかありません。
それが以下の3つです。
①URLを指定
②取得したい要素を選ぶ
③ボタンを押すまたは文字列を入力する
それぞれ詳しく見ていきましょう。
①URLを指定
まず初めに、操作したいページのURLを入力します。
今回は例としてはてなブログのURLを指定しています。
これはもちろん、driver.get
のカッコの中にURLを文字列として直接書いても問題ありません。
from selenium import webdriver from selenium.webdriver.common.keys import Keys driver=webdriver.Chrome() weburl='https://blog.hatena.ne.jp/' driver.get(weburl)
from selenium.webdriver.common.keys import Keys
は文字列の入力に使うので、必要なければ外しましょう。
②取得したい要素を選ぶ
続いて、取得したい要素を選びます。
ここでいう要素というのは、ブラウザ上のボタンやテキスト入力欄を指すデータのことを意味します。
ブラウザ上のボタンなどにはそれを指すidなどが決まっており、これらを指定してどのボタンや入力欄を操作するかを決めます。
例えばはてなブログにログインするとき、idとパスワードを入力したい場合は以下の操作をします。
l_id='自分のid' l_pw='自分のパスワード' '''id入力''' login_id=driver.find_element_by_id('login-name') login_id.send_keys(l_id) '''パスワードの入力''' login_pw=driver.find_element_by_name('password') login_pw.send_keys(l_pw) '''ログインボタンをクリック''' button=driver.find_element_by_xpath('//*[@id="option"]/input[2]') button.click()
このfind_element_by_id()
がid入力欄の要素を取得しています。
ただ、この要素の取得はコツがいる場合があります。
注意点をまとめてあるので、詰まったら以下の記事を参考にしてください。
③ボタンを押すまたは文字列を入力する
要素が取得できたらボタンを押したり、文字列を入力したりするだけです。
先程のコード内のsend_keys()
が文字列入力、click()
がボタンを押す操作です。
ここまでできればあとは②と③を繰り返すだけです。
最後に
Seleniumは一見難しそうに感じるかもしれませんが、大きく分ければステップはそう多くありません。
要素の取得がうまく行かなかったり、待ち時間の処理がうまくできなかったりと問題は出てくるかもしれませんが、基本的なことは上に書いた3つだけです。
ぜひ覚えて自動化プログラムを書いてみましょう。
それでは。