selenium 与 chrome 进行qq登录并发邮件操作实例详解


Posted in Javascript onApril 06, 2017

selenium 与 chrome 进行qq登录并发邮件操作实例详解

出现的问题:

qq邮箱各种iframe需要切换,延时是必须的,通过各种方法找元素,qq邮件正文的iframe name是变化的,其他几种方法都不行,最后居然用这样搞定。o[0].click() , o[0].send_keys("abc"),还得再研究研究!!!

备注:已经在机器上登录过QQ客户端,XXXX是发送QQ号,YYYYY是接受QQ号

from selenium import webdriver
import time
import sys


if 1: 
  driver=webdriver.Chrome()
  driver.get('http://www.qq.com')
  qq_handle = driver.current_window_handle
  driver.find_element_by_xpath('''//*[@id="loginGrayLayout"]''').click()
  time.sleep(1)
  driver.switch_to.frame('login_frame')
  driver.find_element_by_xpath('''//*[@id="img_out_XXXXX"]''').click()
  time.sleep(1)
  driver.refresh()
  driver.find_element_by_xpath('''//*[@id="mailGrayIconLogin"]/a''').click()
  all_handles = driver.window_handles
  time.sleep(1)
  driver.switch_to.window(all_handles[1])
  driver.find_elements_by_css_selector('#composebtn')[0].click() #

  time.sleep(1)
  driver.switch_to.frame('mainFrame')
  driver.find_element_by_xpath('''//*[@id="toAreaCtrl"]/div[2]/input''').send_keys("XXXXX@vip.qq.com")
  driver.find_element_by_xpath('''//*[@id="subject"]''').send_keys("Test Mail Subject")

  o=driver.find_elements_by_class_name("qmEditorIfrmEditArea")
  o[0].click()
  o[0].send_keys("Hello world!") 
  driver.find_element_by_xpath('''//*[@id="toolbar"]/div/a[1]''').click()

  sys.exit(0)

driver=webdriver.Chrome()
driver.get('http://mail.qq.com')
driver.switch_to.frame("login_frame")
driver.find_element_by_xpath('''//*[@id="img_out_XXXXX"]''').click()
time.sleep(1)
driver.find_elements_by_css_selector('#composebtn')[0].click()
time.sleep(1)
driver.switch_to.frame('mainFrame')
time.sleep(1)
driver.find_element_by_xpath('''//*[@id="toAreaCtrl"]/div[2]/input''').send_keys("YYYYY@vip.qq.com")
driver.find_element_by_xpath('''//*[@id="subject"]''').send_keys("Test Mail Subject")
o=driver.find_elements_by_class_name("qmEditorIfrmEditArea")
o[0].click() #must click.... shit!!!!
o[0].send_keys("abc")
driver.find_element_by_xpath('''//*[@id="toolbar"]/div/a[1]''').click()

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
javascript调试说明
Jun 07 Javascript
js异步加载的三种解决方案
Mar 04 Javascript
将angular-ui的分页组件封装成指令的方法详解
May 10 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
Jan 16 Javascript
vue弹窗消息组件的使用方法
Sep 24 Javascript
jQuery实现表单动态添加与删除数据操作示例
Jul 03 jQuery
微信小程序scroll-view实现字幕滚动
Jul 14 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 jQuery
微信小程序中如何使用flyio封装网络请求
Jul 03 Javascript
详解ES6 Promise的生命周期和创建
Aug 18 Javascript
Jquery让form表单异步提交代码实现
Nov 14 jQuery
Layui实现主窗口和Iframe层参数传递
Nov 14 Javascript
js遍历获取表格内数据的方法(必看)
Apr 06 #Javascript
JS优化与惰性载入函数实例分析
Apr 06 #Javascript
大白话讲解JavaScript的Promise
Apr 06 #Javascript
JS实现的二叉树算法完整实例
Apr 06 #Javascript
JavaScript结合HTML DOM实现联动菜单
Apr 05 #Javascript
js实现按座位号抽奖
Apr 05 #Javascript
Angularjs 实现移动端在线测评效果(推荐)
Apr 05 #Javascript
You might like
Zend的Registry机制的使用说明
2013/05/02 PHP
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
Js组件的一些写法
2010/09/10 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
axios学习教程全攻略
2017/03/26 Javascript
Javascript实现base64的加密解密方法示例
2017/06/27 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
2018/09/14 Javascript
Vue.js中对css的操作(修改)具体方式详解
2018/10/30 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
javascript实现简单页面倒计时
2021/03/02 Javascript
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
python实现多线程端口扫描
2019/08/31 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
python和js交互调用的方法
2020/06/23 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
几道Java和数据库的面试题
2013/05/30 面试题
生产管理的三大手法
2013/11/11 职场文书
学校安全检查制度
2014/01/27 职场文书
村庄环境整治方案
2014/05/15 职场文书
班级课外活动总结
2014/07/09 职场文书
2014年共青团工作总结
2014/12/10 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS
redis客户端实现高可用读写分离的方式详解
2021/07/04 Redis