Python处理QQ邮箱邮件
- 以Chrome浏览器为例,需下载
chromedriver.exe
下载地址 - 根据自己电脑上的Chrome版本下载相应的chromedriver.exe
打开的Chrome浏览器主界面的地址栏输入网址: chrome://version/
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
def login():
chrome_driver = "chromedriver的路径\\chromedriver.exe"
# 后台运行
option = webdriver.ChromeOptions()
option.add_argument('headless')
driver = webdriver.Chrome(options=option,executable_path=chrome_driver)
url = "https://mail.qq.com/"
driver.get(url)
text = driver.find_element_by_class_name('header_link').text
driver.find_element_by_id("qqLoginTab").click()
driver.implicitly_wait(5) # 隐式等待
# 打开QQ登录界面,准备登录
driver.switch_to.frame('login_frame')
driver.implicitly_wait(5)
#填写QQ邮箱账号
driver.find_element_by_id('u').send_keys('qq邮箱')
driver.implicitly_wait(5)
#填写QQ邮箱密码:
driver.find_element_by_id('p').send_keys('qq邮箱密码')
#模拟点击登录按钮,执行登录
driver.find_element_by_id('login_button').click()
# window句柄 收件箱
driver.switch_to.window(driver.window_handles[-1])
driver.find_element_by_id('folder_1').click()
driver.switch_to.frame("mainFrame")
# 以处理上周的邮件为例,若要处理更早或今天的邮件,则需自己去分析网页,找到对应的element_id或其他定位的方法
today_mail = driver.find_element_by_id("div_showlastweek")
msg = driver.find_elements(By.CSS_SELECTOR,".tl.tf")
# 删除发件人中含有MongoDB的邮件
for i in msg:
if "MongoDB" in i.text:
print(i.text)
i.find_element_by_xpath("../../../../../td[1]").click()
driver.find_element_by_id("quick_del").click()
if __name__=='__main__':
login()
注:此代码为2021年7月7日更新,若
https://mail.qq.com/
网站更新,以上代码可能会报错,那么则需重新分析网页。