Я недавно работаю с примерами в Automate the Boring Stuff в Python и наткнулся на этот пример, с которым у меня есть некоторые проблемы. В этом упражнении я попытался войти в Yahoo Mail с помощью Selenium в браузере Chrome. Код не выдает никакой ошибки и успешно печатает последнюю строку, однако он не может нажать на кнопку «Отправить», и я застреваю на странице входа в систему, несмотря на успешное заполнение пароля. Однако, если я нажму на кнопку входа вручную, я смогу успешно войти в систему.
Я пробовал и passwordelem.submit (), и passwordsubmitbtn.click (), но ни один из них не работает. Я также попытался изменить пользовательский агент в Chrome, но безрезультатно.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
browser = webdriver.Chrome()
browser.get('https://login.yahoo.com?.src=ym&.lang=en-US&.intl=us&.done=https%3A%2F%2Fmail.yahoo.com%2Fd')
wait = WebDriverWait(browser, 10)
emailelem = wait.until(EC.presence_of_element_located((By.ID,'login-username')))
emailelem.send_keys('xxxxxx@yahoo.com')
wait.until(EC.presence_of_element_located((By.ID,'login-signin')))
emailelem.submit()
passwordelem = wait.until(EC.presence_of_element_located((By.ID,'login-passwd')))
passwordelem.send_keys('xxxxxx')
##passwordelem.submit()
passwordsubmitbtn = wait.until(EC.element_to_be_clickable((By.ID,'login-signin')))
passwordsubmitbtn.click()
print ('Done')