SeleniumでWebスクレイピング(2) ログイン

SeleniumでWebスクレイピング(2) ログイン

前ページで環境構築は終わったので、ログインページでログインするコードを書いていきます。



入力フォームに値を入力する

  1. 入力したいサイトを開き、入力フォームを右クリック→要素を調査(Firefoxの場合)または検証(Chromeの場合)で、id名を把握

  2. 以下のコードを実行(以下の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')

  3. elem_usernameに値が入っているはずなので見てみます。

    python elem_username

    以下のような感じで出ればOK

    python <selenium.webdriver.remote.webelement.WebElement (session="7c59d51f5c3--------", element="7c90d5ba-62a0-4606------")>

  4. elem_usernameに値を入れます。

    python elem_username.send_keys('user')

    これで入力フォームに値を入れることができました。


ログインボタンを押す

  1. 先ほどの続きで、同様にボタンのIDを取得します

    python elem_login_btn = browser.find_element_by_id('login-btn')

  2. ボタンをクリックします

    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()