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 相关文章推荐
点击按钮或链接不跳转只刷新页面的脚本整理
Oct 22 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
May 11 Javascript
jQuery制作简洁的图片轮播效果
Apr 03 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
Oct 16 Javascript
微信小程序 获取相册照片实例详解
Nov 16 Javascript
js省市区级联查询(插件版&无插件版)
Mar 21 Javascript
canvas绘制一个常用的emoji表情
Mar 30 Javascript
解决iview打包时UglifyJs报错的问题
Mar 07 Javascript
关于vue中的ajax请求和axios包问题
Apr 19 Javascript
vue实现五子棋游戏
May 28 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
Sep 08 Javascript
vue-cli3.x配置全局的scss的时候报错问题及解决
Apr 30 Vue.js
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 第二节 数据类型之转换
2012/04/28 PHP
dedecms函数分享之获取某一栏目所有子栏目
2014/05/19 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
PHP简单生成缩略图相册的方法
2015/07/29 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
php自定义函数转换html标签示例
2016/09/29 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
Mootools 1.2教程 选项卡效果(Tabs)
2009/09/15 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
浅谈layui 表单元素的选中问题
2019/10/25 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
python3.6编写的单元测试示例
2019/08/17 Python
python将数组n等分的实例
2019/12/02 Python
Python实现对adb命令封装
2020/03/06 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
Python基于template实现字符串替换
2020/11/27 Python
TCP/IP的分层模型
2013/10/27 面试题
班会关于环保演讲稿
2013/12/29 职场文书
优秀老师事迹材料
2014/02/05 职场文书
小学敬老月活动方案
2014/02/11 职场文书
留学推荐信范文
2014/05/10 职场文书
护校行动方案
2014/05/31 职场文书
工程造价专业求职信
2014/07/17 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
七一活动主持词
2015/06/29 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL