Python源代码如下:

# coding=utf-8
from selenium import webdriver
from time import sleep
from random import randint def auto_throw(target_qq, username, password):
"""自动循环送贺卡"""
driver = webdriver.Chrome()
driver.get("https://mail.qq.com")
driver.set_window_size(1100, 580)
sleep(1)
# 切换iframe表单
driver.switch_to.frame("login_frame")
driver.find_element_by_xpath('//*[@id="u"]').send_keys(username)
driver.find_element_by_xpath('//*[@id="p"]').send_keys(password)
driver.find_element_by_xpath('//*[@id="login_button"]').click()
sleep(1)
# 将表单切回到最外层
driver.switch_to.default_content()
sleep(2)
m = 0
while True:
try:
m += 1
driver.switch_to.default_content()
driver.find_element_by_xpath('//*[@id="folder_card"]').click() # 贺卡
sleep(2)
# 切换iframe表单
driver.switch_to.frame("mainFrame")
driver.find_element_by_xpath('//*[@id="preview_1072308"]/img').click() # 儿童节
# 将表单切回到最外层
driver.switch_to.default_content()
sleep(2)
driver.find_element_by_xpath('//div[@class="dialog_operate"]/a').click() # 发送
sleep(2)
driver.find_element_by_xpath('//a[@title="%s@qq.com"]'%target_qq).click()
sleep(1)
driver.find_element_by_xpath('//*[@id="GreetingCard_QMDialog_content"]').clear()
driver.find_element_by_xpath('//*[@id="GreetingCard_QMDialog_content"]').send_keys("第%d张贺卡发送成功!随机代号%d!"%(m,randint(10000,100000)))
sleep(2)
driver.find_element_by_xpath('//*[@id="GreetingCard_QMDialog_sendbtn"]').click() # 发送
print("第%d张贺卡发送成功!"%m)
sleep(2)
except:
print("送卡失败!")
sleep(2) if __name__ == '__main__':
print("--------自动循环送贺卡脚本--------")
target_qq = input("请输入对方qq号:")
username = input("输入你的QQ邮箱用户名:")
password = input("输入你的QQ邮箱登录密码:")
auto_throw(target_qq, username, password)

Python+selenium自动循环送贺卡的更多相关文章

  1. Python+selenium自动循环扔QQ邮箱漂流瓶

    Python代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...

  2. Python+selenium自动循环发邮件

    Python源代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...

  3. Python + Selenium 自动发布文章(一):开源中国

    https://blog.csdn.net/qq_28804275/article/details/80891949 https://blog.csdn.net/qq_28804275/article ...

  4. python+selenium自动测试之WebDriver的常用API(基础篇二)

    本篇介绍一下python+selenium复杂操作的处理,基于python3.6,selenium3.141,详细资料介绍查看官方API文档,点击这里 一.常见特殊情况处理如iframe/弹窗处理 有 ...

  5. python+selenium自动测试之WebDriver的常用API(基础篇一)

    基于python3.6,selenium3.141,详细资料介绍查看官方API文档,点击这里 一.对浏览器操作 driver = webdriver.Chrome() # 初始化chrome driv ...

  6. python selenium 自动登陆

    #-*- coding:utf8 -*- # 导入selenium2中的webdriver库 from time import sleep from selenium import webdriver ...

  7. python selenium while 循环

    while True: try: loadmore = browser.find_element_by_xpath('//div[@class="right"]/div[@clas ...

  8. [Python爬虫] Selenium自动访问Firefox和Chrome并实现搜索截图

    前两篇文章介绍了安装,此篇文章算是一个简单的进阶应用吧!它是在Windows下通过Selenium+Python实现自动访问Firefox和Chrome并实现搜索截图的功能.        [Pyth ...

  9. 开源you-get项目爬虫,以及基于python+selenium的自动测试利器

    写在前面 爬虫和自动测试,对于python来说是最合适不过也是最擅长的. 开源的项目也很多,例如you-get项目https://github.com/soimort/you-get.盗链和爬虫神器. ...

随机推荐

  1. .NET 云原生架构师训练营(KestrelServer源码分析)--学习笔记

    目录 目标 源码 目标 理解 KestrelServer 如何接收网络请求,网络请求如何转换成 http request context(C# 可识别) 源码 https://github.com/d ...

  2. 【记录一个问题】ndk下使用c++11的condition_variable问题较多

    1.存在通知丢失的情况:生产者线程通知196次,消费者线程收到190次,导致部分数据无法被处理. 2.cond.wait()方法后的加锁有问题,导致对空队列进行出队操作然后coredump.一直记得w ...

  3. JuiceFS 在理想汽车的使用和展望

    理想汽车是中国新能源汽车制造商,设计.研发.制造和销售豪华智能电动汽车,于 2015 年 7 月创立,总部位于北京,已投产的自有生产基地位于江苏常州,通过产品创新及技术研发,为家庭用户提供安全及便捷的 ...

  4. ajax的核心

    <script> // ajax 简称(a 代表异步 j 代表javascript a 代表 and x 代表xml--是一种带有标签的数据格式,被json取代了) //ajax 是异步对 ...

  5. 🏆【Alibaba中间件技术系列】「Nacos技术专题」服务注册与发现相关的原理分析

    背景介绍 前几篇文章介绍了Nacos配置中心服务的能力机制,接下来,我们来介绍Nacos另一个非常重要的特性就是服务注册与发现,说到服务的注册与发现相信大家应该都不陌生,在微服务盛行的今天,服务是非常 ...

  6. 学Go语言能找到实习吗,年前聊聊Go和Java

    前言 快过年了,来公司的人越来越少,估计明天都没什么人了,白泽也要收拾收拾回老家过年了.今天就随便写写零碎的事,所以行文当中难免思路跳跃,请大家一笑了之. 每次冷不丁收到公司给发的礼品袋,心头总是莫名 ...

  7. 学习JAVAWEB第三十七天(读构建之法有感)

    读<构建之法>有感 我今年暑假回去就要升入大二了,在今年的专业分流时,我选择了软件工程专业,起初的想法很简单,做一款优秀的,能拥有大量用户的软件,甚至还想通过自己的软件改变人们的生活.读了 ...

  8. C++的set重载运算符

    转载: https://www.cnblogs.com/zhihaospace/p/12843802.html set 容器模版需要3个泛型参数,如下: template<class T, cl ...

  9. 写程序时try,catch查看报错的行号

    try {    ////////////////    代码段   //////////////// }catch(Exception ex) {     MessageBox.Show(ex.St ...

  10. 「BalkanOI 2018 Day1」Election

    「BalkanOI 2018 Day1」Election 记C为1,T为-1,\(sum[i]\)为\(i\)点的前缀和. 对于询问\([l,r]\),分两步计算答案. 要求所有点的\(sum[i]- ...