python3+selenium实现qq邮箱登陆并发送邮件功能

本文实例为大家分享了python3实现qq邮箱登陆并发送邮件功能的具体代码,供大家参考,具体内容如下

基于selenium,使用chrome浏览器,完成qq邮箱登陆并发送发邮件功能,暂时未封装。qq邮箱和126邮箱登陆还是有一些区别的。

#encoding=utf-8
from selenium import webdriver
import time

#启动chrome浏览器
driver = webdriver.Chrome()
#进入qq邮箱登陆首页
driver.get("https://mail.qq.com/")
time.sleep(1)

#窗口最大化
driver.maximize_window()
#切换到登陆frame(!!!!!!!!必须先切换!!!!!!!!)
driver.switch_to.frame('login_frame')
driver.find_element_by_xpath("//*[@id='switcher_plogin']").click()
time.sleep(3)
#########登陆
#输入用户名
username = driver.find_element_by_xpath("//*[@id='u']")
username.clear()
#将xxxxxxxxxx换成qq邮箱账户
username.send_keys('xxxxxxxxxx')
#输入密码:将1111111111替换为自己的邮箱密码
driver.find_element_by_id('p').send_keys('1111111111')
#点击登陆
driver.find_element_by_id('login_button').click()
time.sleep(10)
#断言登陆成功
assert '退出' in driver.page_source

#########写信
#单击写信按钮
driver.find_element_by_link_text("写信").click()
time.sleep(2)
#切换到mainFrame
driver.switch_to.frame('mainFrame')
time.sleep(2)
#输入收件人
driver.find_element_by_xpath("//*[@id='toAreaCtrl']/div[2]/input").send_keys('123456789@qq.com')
#输入主题
driver.find_element_by_id('subject').send_keys('test')
#输入正文
o=driver.find_elements_by_class_name("qmEditorIfrmEditArea")
o[0].click() #!!!!!!!must click!!!!!!!
o[0].send_keys("abc")

#点击发送按钮
driver.find_element_by_xpath("//*[@id='toolbar']/div/a[1]").click()
time.sleep(3)
##driver.find_element_by_xpath('//a[@name="sendbtn" and @tabindex="9"]').click()
time.sleep(3)
#断言发送成功
assert u"再写一封" in driver.page_source
#关闭浏览器
driver.quit()

小编再为大家分享一段代码:python+selenium自动登录QQ邮箱发送邮件

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
url =("https://mail.qq.com/")
name=("874**5483")
key = ("Zly1****612X")
out_name=("65750**8@qq.com")
#
#打开浏览器
driver.get(url)
driver.implicitly_wait(10)

#最大化窗口
driver.maximize_window()

#切换iframe
driver.switch_to.frame("login_frame")

# #定位至账号密码登录
# driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()

# #账号,密码输入
# driver.find_element_by_xpath('//*[@id="u"]').send_keys(name)
# driver.find_element_by_xpath('//*[@id="p"]').send_keys(key)

# #点击登录
# driver.find_element_by_xpath('//*[@id="login_button"]').click()

#点击头像登录
driver.find_element_by_xpath('//*[@id="img_out_874335483"]').click()
time.sleep(5)

#点击写信
driver.find_element_by_xpath('//*[@id="composebtn"]').click()
time.sleep(3)

#切换iframe至写信
driver.switch_to.frame("mainFrame")
#driver.switch_to.frame(driver.find_element_by_id('mainFrame'))
time.sleep(3)

#添加收件人
driver.find_element_by_xpath('//*[@id="toAreaCtrl"]/div[2]/input').send_keys(out_name)

#添加主题
driver.find_element_by_xpath('//*[@id="subject"]').send_keys("TestCase1")

#退出当前编辑Iframe
driver.switch_to.default_content()

#切换Iframe至编辑正文
driver.switch_to.frame("mainFrame")
#Body_frame=driver.find_element_by_xpath('//iframe[@scrolling="auto"]')
Body_frame=driver.find_element_by_class_name("qmEditorIfrmEditArea")
driver.switch_to.frame(Body_frame)

#添加正文
driver.find_element_by_xpath('/html/body').send_keys("I LOVE Python")
time.sleep(3)

#退回大Frame再点击发送
driver.switch_to.parent_frame()
driver.find_element_by_xpath('//*[@id="toolbar"]/div/a[1]').click()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python自动查询12306余票并发送邮箱提醒脚本

    由于车票难抢,有时需要的车票已经售空,而我们需要捡漏,便可使用这个脚本. 具体实现了,自动查询某一车票的余票数量,当数量产生变化时,将自动发送QQ邮件到对于的邮箱进行提醒. 其中,发送邮箱的部分详情可参考我上一篇博文:Python 发送邮件 (smtp) QQ邮箱 脚本使用了python + selenium + chrome webdriver,需要先配置好三者的环境. 具体使用时候,需自行改变代码中的 邮箱信息.出发站.到达站.车次.日期.以及到相应查询页面中找到对应车票的html id:

  • python3+selenium实现126邮箱登陆并发送邮件功能

    本文实例为大家分享了python3实现126邮箱登陆并发送邮件的具体代码,供大家参考,具体内容如下 基于selenium,使用chrome浏览器,完成126邮箱登陆并发送发邮件功能,暂时未封装. from selenium import webdriver # 导入显示等待类 from selenium.webdriver.support.ui import WebDriverWait # 导入期望场景类 from selenium.webdriver.support import expect

  • Python3实现并发检验代理池地址的方法

    本文实例讲述了Python3实现并发检验代理池地址的方法.分享给大家供大家参考,具体如下: #encoding=utf-8 #author: walker #date: 2016-04-14 #summary: 用协程/线程池并发检验代理有效性 import os, sys, time import requests from concurrent import futures cur_dir_fullpath = os.path.dirname(os.path.abspath(__file__

  • 实例分析python3实现并发访问水平切分表

    场景说明 假设有一个mysql表被水平切分,分散到多个host中,每个host拥有n个切分表. 如果需要并发去访问这些表,快速得到查询结果, 应该怎么做呢? 这里提供一种方案,利用python3的asyncio异步io库及aiomysql异步库去实现这个需求. 代码演示 import logging import random import asynciofrom aiomysql import create_pool # 假设mysql表分散在8个host, 每个host有16张子表 TBLE

  • python写入数据到csv或xlsx文件的3种方法

    本文实例为大家分享了三种方式使用python写数据到csv或xlsx文件,供大家参考,具体内容如下 第一种:使用csv模块,写入到csv格式文件 # -*- coding: utf-8 -*- import csv with open("my.csv", "a", newline='') as f: writer = csv.writer(f) writer.writerow(["URL", "predict", "

  • python配置文件写入过程详解

    python配置文件有.conf,.ini,.txt等多种 python集成的 标准库的 ConfigParser 模块提供一套 API 来读取和操作配置文件 我的配置文件如下 [MOTOR] comnum = 3 baud = 19200 m1slowstep = 10 m1faststep = 100 m1origin = 5 m2slowstep = 10 m2faststep = 50 m2origin = 5 [CoarseAdjust] standardx = 0.000000 st

  • python config文件的读写操作示例

    本文实例讲述了python config文件的读写操作.分享给大家供大家参考,具体如下: 1.设置配置文件 [mysql] host = 1234 port = 3306 user = root password = Zhsy08241128 database = leartd 2.读取配置文件 import configparser import os conf= configparser.ConfigParser() def readConf(): '''读取配置文件''' root_pat

  • Python3并发写文件与Python对比

    这篇文章主要介绍了Python3并发写文件原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用python2在进行并发写的时候,发现文件会乱掉,就是某一行中间会插入其他行的内容. 但是在使用python3进行并发写的时候,无论是多进程,还是多线程,都没有出现这个问题,难道是python3的特性吗? import time import os import multiprocessing from multiprocessing.dumm

  • python批量读取文件名并写入txt文件中

    本文实例为大家分享了python批量读取文件名并写入txt中的具体代码,供大家参考,具体内容如下 先说下脚本使用的环境吧,在做项目的过程中需要动态加载图片,使用Unity的Resources.Load方法,但是百十张图片怎么能一 一写下他们的名字作为加载的路径呢?总不能一个一个编辑后存到数组中吧,(虽然我最初是这么做的).所以必须有一个批量的工具,必须的. 于是乎激发了我的灵感,下面看代码.备注少,不动的给我留言,我会及时回复的. #coding=utf-8 import sys import

  • python3+selenium实现qq邮箱登陆并发送邮件功能

    本文实例为大家分享了python3实现qq邮箱登陆并发送邮件功能的具体代码,供大家参考,具体内容如下 基于selenium,使用chrome浏览器,完成qq邮箱登陆并发送发邮件功能,暂时未封装.qq邮箱和126邮箱登陆还是有一些区别的. #encoding=utf-8 from selenium import webdriver import time #启动chrome浏览器 driver = webdriver.Chrome() #进入qq邮箱登陆首页 driver.get("https:/

  • Python3 selenium 实现QQ群接龙自动化功能

    一.环境 环境配置为安装了 selenium 模块的 Python3 ,以及浏览器对应的driver 如果没有安装 selenium ,可以在控制台执行下面的代码 pip3 install selenium 浏览器driver下载地址:https://selenium-python.readthedocs.io/installation.html#drivers 需要选择对应的浏览器的对应版本进行下载 下载完成之后放到Python安装目录即可 二.代码 不足:只能给最新发布的一个群接龙进行自动接

  • python使用selenium登录QQ邮箱(附带滑动解锁)

    前言 最近因为工作需要 用selenium做了一个QQ邮箱的爬虫(登录时部分帐号要滑动解锁),先简单记录一下. 这个问题先可以分为两个部分:1.登录帐号和2.滑动解锁.python版本3.5.4 问题分析:登录+滑动解锁 其实登录账号的部分本来很简单,用selenium打开QQ邮箱官网:https://mail.qq.com 然后切换frame输入帐号 和密码点击登录即可,但是部分账号,或者可以说是异地登录的QQ账号需要滑动解锁验证码才能继续登录(下图) 看到这张图我们应该不难想到: 1.我们需

  • python+selenium实现QQ邮箱自动发送功能

    python实现从登录到自动发送qq邮件,供大家参考,具体内容如下 qq邮箱登录注意问题 账户密码登录框是写在一个iframe上的,所以我们要先进入iframe中才能定位到下面的两个输入框和登录按钮.从下图我们可以看到iframe=login_frame,我们可以是用driver.switch.to_frame("login_frame")进入iframe中.接下来的两个输入框和登录按钮都有id属性,我们只需要用driver.find_element_by_id("xxx&q

  • python使用QQ邮箱实现自动发送邮件

    最近用到Python自动发送邮件,主要就是三步,登录邮件.写邮件内容.发送,用到的库是 smtplib 和 email,直接使用pip安装即可 我使用的是QQ邮箱,首先需要设置QQ邮箱POP3/SMTP服务 记住这个授权码,这个授权码就是Python脚本中登录邮箱时的密码,而不是你平时登录邮箱时的那个密码 一.发送普通文本邮件 #发送多种类型的邮件 from email.mime.multipart import MIMEMultipart msg_from = '1508691067@qq.c

  • PHPMailer使用QQ邮箱实现邮件发送功能

    本文实例为大家分享了PHPMailer使用QQ邮箱实现邮件发送的具体代码,供大家参考,具体内容如下 /** * 下订单发送邮件 * @to 收件人 @title 标题 @content 内容 */ function sendMail($to,$title,$content){ //引入PHPMailer的核心文件 使用require_once包含避免出现PHPMailer类重复定义的警告 require_once("../../includes/phpmailer/5.1/class.phpma

  • python3利用smtplib通过qq邮箱发送邮件方法示例

    前言 本文主要给大家介绍了关于python3 smtplib通过qq邮箱发送邮件的相关内容, smtplib模块是smtp简单邮件传输协议客户端的实现,为了通用性,有时候发送邮件的时候要带附件或图片,用email.mime来装载内容. 详细代码参考说明:Python3 SMTP发送邮件 0.了解qq邮箱的SMTP QQ邮箱 POP3 和 SMTP 服务器地址设置如下: 邮箱 POP3服务器(端口995) SMTP服务器(端口465或587) qq.com pop.qq.com smtp.qq.c

  • python实现QQ邮箱发送邮件

    本文实例为大家分享了python实现QQ邮箱发送邮件的具体代码,供大家参考,具体内容如下 1.代码: #!/usr/bin/python # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from email.header import Header mail_host="smtp.qq.com"#设置的邮件服务器host必须是发送邮箱的服务器,与接收邮箱无关. mail_user=&

  • Python基于QQ邮箱实现SSL发送

    一.QQ邮箱SSL发送 获取qq授权码 ssl发送方式不是使用邮箱密码,而是需要授权码,具体步骤如下: 登录发送人qq邮箱>>设置>>账户>>POP3/STMP服务开启>>生成授权码 验证密保 复制16位授权码 qq邮箱发送源码 #!/usr/bin/python3 # encoding:utf-8 ''' Created on 2020-04-24 12:15 @author: Administrator ''' #coding:utf-8 import

随机推荐