前提・実現したいこと
書籍をもとに簡単な会員制Webアプリを作成しております。
エラーが解決できずご質問致します。
seleniumを使ってテストしていたところ、下記のようなエラーがでてしまいました。
発生している問題・エラーメッセージ
ERROR: test_login (accounts.tests.TestLogin) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[name="login"]"}
【該当箇所】 from django.test import LiveServerTestCase from django.urls import reverse_lazy from selenium.webdriver.chrome.webdriver import WebDriver class TestLogin(LiveServerTestCase): @classmethod def setUpClass(cls): super().setUpClass() cls.selenium = WebDriver(executable_path=r'C:\Users\m2305\Desktop\chromedriver.exe') @classmethod def tearDownClass(cls): cls.selenium.quit() super().tearDownClass() def test_login(self): # ログインページを開く self.selenium.get('http://localhost:8000' + str(reverse_lazy('account_login'))) # ログイン username_input = self.selenium.find_element_by_name("login") username_input.send_keys('postgres') password_input = self.selenium.find_element_by_name("password") password_input.send_keys('1992big0812') self.selenium.find_element_by_class_name('btn').click() # ページタイトルの検証 self.assertEquals('日記一覧 | Private Diary', self.selenium.title)
試したこと
エラーメッセージから、loginという要素が抜けているためにエラーがでていると思ったのですが、エラー箇所の
username_input = self.selenium.find_element_by_name("login")
login自体は抜けておらず、他の修正箇所もわからず困っております。
ご教授いただければ幸いです。よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
Window10
Chrome
python3