【Python爬虫】自动登录163邮箱
selenium自动登录163邮箱
一、以“https://mail.163.com/” 入口登录
效果如下:
代码:
from selenium import webdriver from time import sleep browser = webdriver.Chrome() browser.get("https://mail.163.com/") # browser.maximize_window() #将扫码登录转化为用户名密码登录 browser.find_element_by_xpath('//div[@id="lbNormal"]').click() #转化登录方式之后,要进入iframe框 browser.switch_to.frame(browser.find_element_by_xpath('//iframe[starts-with(@id,"x-URS")]')) sleep(1) browser.find_element_by_xpath('//input[@name="email"]').send_keys('xxxxxxx') browser.find_element_by_xpath('//input[@name="password"]').send_keys('xxxxxxx') browser.find_element_by_xpath('//*[@id="dologin"]').click() sleep(2) print(browser.page_source) sleep(3) browser.quit()
二、以“https://email2.163.com/” 入口登录
以该入口登录不需要将扫码切换为用户名密码登录的操作
代码:
from selenium import webdriver from time import sleep browser = webdriver.Chrome() browser.get("https://email2.163.com/") # browser.maximize_window() browser.switch_to.frame(browser.find_element_by_xpath('//iframe[starts-with(@id,"x-URS")]')) sleep(1) browser.find_element_by_xpath('//input[@name="email"]').send_keys('xxxxxx') browser.find_element_by_xpath('//input[@name="password"]').send_keys('xxxxx') browser.find_element_by_xpath('//*[@id="dologin"]').click() sleep(2) print(browser.page_source) sleep(3) browser.quit()
注意点:
1、登录时要切换到 iframe框中,browser.switch_to.frame(),否则找不到输入框
2、iframe框的id是动态变化的,要用模糊匹配
browser.find_element_by_xpath('//iframe[starts-with(@id,"x-URS")]')