利用selenium自动登录126邮箱
不多说直接上代码
简单版
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("http://www.126.com")
# 登录
sleep(2)
# 切换到登录界面的表单
driver.switch_to.frame(0)
# 由于这边的id不固定,故使用name参数
driver.find_element_by_name("email").clear()
driver.find_element_by_name("email").send_keys("username")
sleep(2)
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys("passsword")
sleep(2)
driver.find_element_by_id("dologin").click()
# 登录之后的动作
sleep(2)
# 退出
driver.find_element_by_id("_mail_component_5_5").click()
sleep(1)
driver.find_element_by_id("_mail_component_72_72").click()
driver.quit()
优化版
首先将登录和退出126邮箱的功能,封装成一个类,类里面有登录和退出方法
from time import sleep
class Mail:
def __init__(self, driver):
self.driver = driver
def login(self, username, password):
"""登录"""
sleep(1)
self.driver.switch_to.frame(0)
self.driver.find_element_by_name("email").clear()
self.driver.find_element_by_name("email").send_keys(username)
sleep(1)
self.driver.find_element_by_name("password").clear()
self.driver.find_element_by_name("password").send_keys(password)
sleep(2)
self.driver.find_element_by_id("dologin").click()
def logout(self):
"""退出"""
self.driver.find_element_by_id("_mail_component_5_5").click()
sleep(1)
self.driver.find_element_by_id("_mail_component_72_72").click()
然后在另一个文件里进行调用该类
from selenium import webdriver
from time import sleep
from autologon import Mail
driver = webdriver.Chrome()
driver.get("http://www.126.com")
driver.maximize_window()
# 调用Mail类并且接受driver驱动
mail = Mail(driver)
# 登录
mail.login("***", "****")
sleep(5)
# 退出
mail.logout()
driver.quit()