使用Selenium登录Microsoft帐户

2024-10-05 14:22:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用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()

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


Tags: andimportbrowseridfieldbyemailmy
1条回答
网友
1楼 · 发布于 2024-10-05 14:22:45

我想你应该等一下,因为田地不会马上出现。以下几点对我有用:

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()

相关问题 更多 >