SeleniumでWebスクレイピング(2) ログイン
SeleniumでWebスクレイピング(2) ログイン
前ページで環境構築は終わったので、ログインページでログインするコードを書いていきます。
入力フォームに値を入力する
入力したいサイトを開き、入力フォームを右クリック→要素を調査(Firefoxの場合)または検証(Chromeの場合)で、id名を把握
以下のコードを実行(以下のid_usernameの部分に取得したIDを入力)
python from selenium import webdriver browser = webdriver.Chrome() browser.get('https://url/to/login/page') elem_username = browser.find_element_by_id('id_username')
elem_usernameに値が入っているはずなので見てみます。
python elem_username
以下のような感じで出ればOK
python <selenium.webdriver.remote.webelement.WebElement (session="7c59d51f5c3--------", element="7c90d5ba-62a0-4606------")>
elem_usernameに値を入れます。
python elem_username.send_keys('user')
これで入力フォームに値を入れることができました。
ログインボタンを押す
先ほどの続きで、同様にボタンのIDを取得します
python elem_login_btn = browser.find_element_by_id('login-btn')
ボタンをクリックします
elem_login_btn.click()
これでログインボタンが押せました。
ボタンが使われていない場合などは、テキスト要素に対してEnterキーを送ってやればフォームがPOSTされます。
elem_username.send_keys(Keys.ENTER)
ここまでのコード
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://url/to/login/page') elem_username = browser.find_element_by_id('id_username') elem_username.send_keys('user') elem_login_btn = browser.find_element_by_id('login-btn') elem_login_btn.click()