python を使ってマネーフォワード(家計簿サイト)への自動ログインを行いたいと考えています。
seleniumを使って下記の様なコードを書いてみたのですが、"同意してログインする"ボタンの要素が見つからないというエラーが発生してログイン出来ません。
クリックするべき要素が間違っているのでしょうか?ご教授頂ければ幸いです。
python3.8
1from selenium import webdriver 2from time import sleep 3sleep(3) 4 5from webdriver_manager.chrome import ChromeDriverManager 6browser = webdriver.Chrome(ChromeDriverManager().install()) 7 8browser.quit() 9 10browser = webdriver.Chrome() 11 12url = 'https://id.moneyforward.com/sign_in/email?client_id=2WND7CAYV1NsJDBzk13JRtjuk5g9Jtz-4gkAoVzuS_k&nonce=68920c7bc5ccb91f0adefdf20833937e&redirect_uri=https%3A%2F%2Fmoneyforward.com%2Fauth%2Fmfid%2Fcallback&response_type=code&scope=openid+email+profile+address&state=f2c842cbe6c2de6b10fb483510163435' 13browser.get(url) 14 15elem_mailaddres = browser.find_element_by_name('mfid_user[email]') 16# print(elem_username) 17 18 19elem_mailaddres.send_keys('メールアドレス') 20 21 22elem_login_btn=browser.find_element_by_class_name('zNNfb322 submitBtn homeDomain') 23elem_login_btn.click()
エラーコードは下記の通りです。
File "ファイル名", line 22, in <module> elem_login_btn=browser.find_element_by_class_name('zNNfb322 submitBtn homeDomain') File "selenium/webdriver/remote/webdriver.py", line 564, in find_element_by_class_name return self.find_element(by=By.CLASS_NAME, value=name) File "selenium/webdriver/remote/webdriver.py", line 976, in find_element return self.execute(Command.FIND_ELEMENT, { File "selenium/webdriver/remote/webdriver.py", line 321, in execute self.error_handler.check_response(response) File "selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".zNNfb322 submitBtn homeDomain"} (Session info: chrome=91.0.4472.164)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/16 07:43