#検証ツールを開いてもidが見つからない
フィードバックお待ちしていますm(_ _)m
seleniumを用いて、webサイトにメールアドレスやパスワードを自動入力するための記事です。
当方の環境: mac, visual studio code
※webページのログイン画面へのアクセスまではできていると仮定します。
それではいきましょう。
ログイン画面に到達したら、右クリック(もしくはダブルクリック)で"検証"というツールが出てくると思います。
そこでメールアドレス入力画面のHTMLを確認すると、(自分の参考にしていたUdemy動画では存在するはずの)id="username"とかid="password"みたいなのがが出てこない!
こんな問題に遭遇しました。
そこで書いたコードがこちら。
elem_username = browser.find_element_by_name('mail')
elem_password = browser.find_element_by_name('pass')
ところが、ターミナルにてpython3 ファイル名
で実行を試みたところ、
'WebDriver' object has no attribute 'find_element_by_name
というエラーが。
どうやらfind_element_by_nameというメソッドを使用してはいけないようです。
(ググったら使えるって書いてたんだけどな。むむむ...でも他の方法を考えないと仕方ない。)
そこで、この記事ではByクラスを使用した解決策を提案いたします。
ソースコードの修正はたったの2点。
冒頭に
from selenium.webdriver.common.by import By
そして
elem_username = browser.find_element_by_name('mail')
を
elem_username = browser.find_element(By.NAME, 'mail')
に書き換えるだけ!
パスワードも同様です。一応書いておきますね。
elem_password = browser.find_element_by_name('pass')`
elem_password = browser.find_element(By.NAME, 'pass')
これで無事にメールアドレスとパスワードを自動入力するコードが書けました。
ここまでお読み頂きありがとうございました。