首页 > 技术文章 > 【Python爬虫】自动登录163邮箱

XJT2018 2019-06-16 18:01 原文

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")]')

 

推荐阅读