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 相关文章推荐
推荐40个简单的 jQuery 导航插件和教程(下篇)
Sep 14 Javascript
javascript学习总结之js使用技巧
Sep 02 Javascript
JavaScript笔记之数据属性和存储器属性
Mar 31 Javascript
浅谈js里面的InttoStr和StrtoInt
Jun 14 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
Jul 01 Javascript
PHP实现记录代码运行时间封装类实例教程
May 08 Javascript
Angularjs的键盘事件的绑定
Jul 27 Javascript
JavaScript中var、let、const区别浅析
Jun 24 Javascript
微信小程序template模板与component组件的区别和使用详解
May 22 Javascript
Vue实现仿iPhone悬浮球的示例代码
Mar 13 Javascript
如何实现echarts markline标签名显示自己想要的
Jul 20 Javascript
vue 限制input只能输入正数的操作
Aug 05 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
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
PHP中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
artdialog的图片/标题以及关闭按钮不显示的解决方法
2013/06/27 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
2016/12/06 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
零基础学Python(一)Python环境安装
2014/08/20 Python
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
2018/03/19 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
python求最大连续子数组的和
2018/07/07 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
python之super的使用小结
2018/08/13 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
Python中调用其他程序的方式详解
2019/08/06 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
Python selenium抓取虎牙短视频代码实例
2020/03/02 Python
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
写好自荐信要注意的问题
2013/11/10 职场文书
财务人员担保书
2014/05/13 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
党员思想汇报材料
2014/12/19 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书