Python Selenium: вход в Microsoftonline не работает правильно - PullRequest
1 голос
/ 26 февраля 2020

Я пытаюсь войти в Office 365 Outlook, используя Python Selenium, который перенаправляет для 2-х факторной аутентификации.

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

email_ID = "YourEmail@Gmail.com"
Password = "Password"

driver = webdriver.Chrome(executable_path="C:\pythonLibs\chromedriver\chromedriver.exe")
driver.set_page_load_timeout(10)
driver.get("https://outlook.office365.com/mail/inbox")

try:
    element = WebDriverWait(driver, 10).until
    (
        # EC.presence_of_element_located((By.ID, "myDynamicElement"))
        EC.url_contains("login.microsoftonline.com/common/oauth2/authorize")
    )
finally:
    print("2nd Login Page Reached.")
    print(driver.current_url)

    # Login
    driver.find_element_by_id("i0116").send_keys(email_ID)
    # driver.find_element_by_id("i0118").send_keys(Password) #passwordBrowserPrefill
    print("Login Entered")
    driver.find_element_by_xpath('//*[@id="idSIButton9"]').submit()

На 1-й странице перенаправления (2-я страница) после ввода электронной почты и отправки , мне показывается страница

Вход

Извините, но у нас возникли проблемы при входе.

AADSTS90100: параметр входа пуст или недействительно.

Если я закомментирую отправку и нажму «Далее» вручную после того, как электронное письмо будет введено, оно будет работать как обычно.

Я ранее пытался добавить неявное ожидание перед отправкой , но безрезультатно

Жду ваших предложений.

1 Ответ

2 голосов
/ 26 февраля 2020

Попробуйте:

driver.find_element_by_xpath('//*[@id="idSIButton9"]').click()

Вместо:

driver.find_element_by_xpath('//*[@id="idSIButton9"]').submit() 

Поскольку создается впечатление, что вы отправляете форму для входа до ввода всех необходимых значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...