繁体   English   中英

使用 Selenium 登录 Microsoft 帐户

[英]Logging into Microsoft account using Selenium

我正在尝试使用 selenium 登录我的 Microsoft 帐户。 下面的代码会导致站点返回一条错误消息,指出登录过程中出现问题。

from selenium import webdriver
import time

browser = webdriver.Firefox()
browser.get('https://login.live.com')

#locating email field and entering my email
elem = browser.find_element_by_id("i0116")
elem.send_keys("myEmailAddress")

#locating password field and entering my password
elem2 = browser.find_element_by_id("i0118")
elem2.send_keys("myPassword")


elem.submit()

我输入的密码绝对正确。 难道微软只是不想远程控制浏览会话尝试登录?

我认为您需要等待,因为字段不会立即显示。 以下对我有用:

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
from selenium.webdriver.common.by import By

EMAILFIELD = (By.ID, "i0116")
PASSWORDFIELD = (By.ID, "i0118")
NEXTBUTTON = (By.ID, "idSIButton9")

browser = webdriver.Firefox()
browser.get('https://login.live.com')

# wait for email field and enter email
WebDriverWait(browser, 10).until(EC.element_to_be_clickable(EMAILFIELD)).send_keys("myEmailAddress")

# Click Next
WebDriverWait(browser, 10).until(EC.element_to_be_clickable(NEXTBUTTON)).click()

# wait for password field and enter password
WebDriverWait(browser, 10).until(EC.element_to_be_clickable(PASSWORDFIELD)).send_keys("myPassword")

# Click Login - same id?
WebDriverWait(browser, 10).until(EC.element_to_be_clickable(NEXTBUTTON)).click()

使用..这个..对我有用..最好等到到达所需的URL

wait.until((Function) ExpectedConditions.urlContains("https://login.microsoftonline.com/common/SAS/ProcessAuth"));

        try
        {
            Thread.sleep(5000);
        }
        catch (Exception exception)
        {

        }
        WebElement confirmationButton = driver.findElement(By.xpath("//*[@id=\"idSIButton9\"]"));

        if (confirmationButton.isEnabled())
        {
            confirmationButton.click();
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM