Python自动化处理邮件

2023-10-27

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/网站更新,以上代码可能会报错,那么则需重新分析网页。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python自动化处理邮件 的相关文章

随机推荐

  • 常见的magent问题系列二--Fatal error: Call to a member function toHtml() on a non-object in ../../Layout.php

    有些模板不兼容 就会出现这种情况 Fatal error Call to a member function toHtml on a non object in home www yourMagento html gamemore app
  • mysql-按照指定字段排序

    select from order ORDER BY FIELD status UNPAID DELIVERED PAID WAIT DELIVER desc asc
  • uart和usart的区别

    uart 通用异步收发传输器 Universal Asynchronous Receiver Transmitter 通常称作UART 是一种异步收发传输器 是电脑硬件的一部分 它将要传输的资料在串行通信与并行通信之间加以转换 作为把并行输
  • 2023苹果CMS v10魔加主题1.1.6破解版 支持苹果CMS全部版本

    2023苹果cms v10魔加主题1 1 6破解版 支持苹果cms全部版本 后台快捷菜单配置添加魔加主题 mojia theme div class layui tab item blockquote class layui elem qu
  • jquery控制a标签点击后禁止再次点击

    function test 防止多次点击提交 if div a hasClass disabled return div a addClass disabled div a layui layer btn0 text 提交中 div a l
  • mysql5.7 主从安装

    1 安装mysql5 7 1 1 下载mysql源安装包 wget http dev mysql com get mysql57 community release el7 8 noarch rpm 1 2 安装mysql源 yum ins
  • 自学C++(四)//三目运算符

    三目运算符 阅读如下代码 if a gt b z a else z b 该代码可以化简为z a gt b a b z a gt b a b 该式是一个具有3个操作对象的条件表达式 其中的 加起来叫三目y运算符 三目运算符的优先级 执行方向是
  • 1.根据VADeaths数据集,分别绘制城镇居民与农村居民死亡情况的饼图,添加标题及图例说明,并分析图表。

    1 根据VADeaths数据集 分别绘制城镇居民与农村居民死亡情况的饼图 添加标题及图例说明 并分析图表 2 将第1题的结果保存为PNG文件格式 并储存到当前工作目录下 png 农村居民死亡情况 png width 1200 height
  • 关于codeblocks出现can't find compiler的解决方法

    关于codeblocks不能找到编译器的问题我来介绍一下解决的方法 1 首先要确定你的codeblocks是自带编译器的版本 你可访问codeblocks的官网 www codeblocks org 来到下载页面 如下图 点击第一个Down
  • 策略模式+Spring——让我们的代码更加高大上一点

    if else if else 代码是实际的项目代码中出现的比例还是蛮高的 特别是针对一些业务需求根据不同类型来进行不同的业务处理 针对这种业务模型 我们来试着使用策略模式结合Spring来优化我们的代码 让代码更加高大上一点 为了更好得结
  • n的阶乘求解方法

    n 的阶乘求解方法有以下三种 第一种通过递归计算 n int input def N a 定义一个函数进行阶乘计算 if a 1 return a else return N a 1 a print N n 第二种方法就是调用math库 通
  • 狂神说Mybatis最全课堂笔记

    Mybatis 自己整理的狂神说Mybatis学习笔记 环境 JDK1 8 Mysql 5 7 maven 3 6 1 IDEA 回顾 JDBC Mysql Java基础 Maven Junit SSM框架 配置文件 最好的方式 看官方文档
  • 小程序,压缩图片

    我们在小程序上 直接上传手机相册及拍照的图片时 因为图片过大 如10m 手机端不像我们再计算机上传输那么快 也没那么稳定 解决办法 在图片上传前压缩图片 压缩图片就是将图片尺寸 图片质量降低 把这两个指数降低到合适的规格 1 首先在 wxm
  • RK3399 Linux-SDK mipi屏幕驱动及调试

    一 流程及通路 我接触到的三款mipi屏幕 基本的点亮流程都是很一致的 就是背光使能 背光点亮 屏幕使能 reset引脚按指定时序 波形拉高或拉低 初始化序列命令发送 3399的linuxSDK中 包含一种类似通用的屏幕驱动 本文档以使用此
  • [Eagle API]使用python打印eagle指定文件夹下的所有子文件名

    api https www yuque com augus gsjgn eagle api pq0y2y 官方api源码 var requestOptions method GET redirect follow fetch http lo
  • mojo安装

    docker安装mojo 官网 https developer modular com login 很奇怪登录页面不显示 类似于网站劫持 docker 安装mojo带jupyterlab的方式 https hub docker com r
  • const_cast

    const cast是一种C 运算符 主要是用来去除复合类型中const和volatile属性 没有真正去除 变量本身的const属性是不能去除的 要想修改变量的值 一般是去除指针 或引用 的const属性 再进行间接修改 用法 const
  • 烂泥:查看服务器的BIOS是否开启CPU虚拟化

    本文由秀依林枫提供友情赞助 首发于烂泥行天下 有关CPU是否支持虚拟化 我们可以通过相关的命令和软件进行查看 在windows系统下 我们可以使用CPU Z这个软件 如下图 在linux系统下 我们可以通过查看 proc cpuinfo文件
  • Python图像处理之图片文字识别(OCR)

    OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别 Optical Character Recognition OCR 可以实现OCR 的底层库并不多 目前很多库都是使用共同的几个底层OCR 库 或者是在上面进行定制 T
  • Python自动化处理邮件

    Python处理QQ邮箱邮件 以Chrome浏览器为例 需下载chromedriver exe下载地址 根据自己电脑上的Chrome版本下载相应的chromedriver exe 打开的Chrome浏览器主界面的地址栏输入网址 chrome