Python自动化处理邮件

该博客介绍了如何利用Python的Selenium库自动化登录QQ邮箱并处理邮件,特别是删除包含特定关键词'MongoDB'的邮件。首先,下载并配置chromedriver.exe以适配Chrome浏览器版本,然后通过ChromeOptions设置为后台运行。接着,定位并填入邮箱账号和密码完成登录,最后切换到收件箱,查找并删除指定条件的邮件。
摘要由CSDN通过智能技术生成

Python处理QQ邮箱邮件

  1. 以Chrome浏览器为例,需下载chromedriver.exe下载地址
  2. 根据自己电脑上的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/网站更新,以上代码可能会报错,那么则需重新分析网页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值