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 相关文章推荐
准确获得页面、窗口高度及宽度的JS
Nov 26 Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
Nov 09 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
Oct 22 Javascript
new Date()问题在ie8下面的处理方法
Jul 31 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
Dec 02 Javascript
深入探究使JavaScript动画流畅的一些方法
Jun 30 Javascript
JS原型、原型链深入理解
Feb 27 Javascript
javascript DOM的详解及实例代码
Mar 06 Javascript
d3绘制基本的柱形图的实现代码
Dec 12 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
Jan 09 Javascript
JS栈stack类的实现与使用方法示例
Jan 31 Javascript
详解js中的原型,原型对象,原型链
Jul 16 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
php中require和require_once的区别说明
2014/02/27 PHP
PHP多个文件上传到服务器实例
2014/10/29 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
PDO::getAttribute讲解
2019/01/28 PHP
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
jQuery插件ajaxfileupload.js实现上传文件
2020/10/23 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
微信小程序 弹窗自定义实例代码
2017/03/08 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
ajaxfileupload.js实现上传文件功能
2019/04/19 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
Python的lambda匿名函数的简单介绍
2013/04/25 Python
详解Python编程中包的概念与管理
2015/10/16 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
管理失职检讨书
2014/02/12 职场文书
土地租赁意向书
2014/07/30 职场文书
2015年科室工作总结
2015/04/10 职场文书
2015年七夕情人节活动方案
2015/05/06 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
Python简易开发之制作计算器
2022/04/28 Python