LoginSignup
0
1

seleniumで自動ログインしたいのにHTMLを見てもidが見つからないとき

Last updated at Posted at 2023-07-31

#検証ツールを開いても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')

これで無事にメールアドレスとパスワードを自動入力するコードが書けました。

ここまでお読み頂きありがとうございました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1