[Python] crawler automatically logged 163 E-mail

selenium automatic login 163 E-mail

First, in order to "https://mail.163.com/" Portal Login

Results are as follows:

 

Code:

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

 

Guess you like

Origin www.cnblogs.com/XJT2018/p/11032346.html