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学习笔记2 函数
Jan 11 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
May 18 Javascript
异步加载script的代码
Jan 12 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
Nov 26 Javascript
一个不错的字符串转码解码函数(自写)
Jul 31 Javascript
JS实用的动画弹出层效果实例
May 05 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
May 27 Javascript
jQuery简单注册和禁用全局事件的方法
Jul 25 Javascript
JQueryEasyUI之DataGrid数据显示
Nov 23 Javascript
servlet+jquery实现文件上传进度条示例代码
Jan 25 Javascript
JavaScript实现的数字与字符串转换功能示例
Aug 23 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 jQuery
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的FTP学习(一)[转自奥索]
2006/10/09 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
2011/11/27 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
js同源策略详解
2015/05/21 Javascript
jQuery预加载图片常用方法
2015/06/15 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
js中json处理总结之JSON.parse
2016/10/14 Javascript
react 父组件与子组件之间的值传递的方法
2017/09/14 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
浅析vue中的nextTick
2020/12/28 Vue.js
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
python列表操作之extend和append的区别实例分析
2015/07/28 Python
python daemon守护进程实现
2016/08/27 Python
详解Numpy中的广播原则/机制
2018/09/20 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
python urllib爬虫模块使用解析
2019/09/05 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
Python分类测试代码实例汇总
2020/07/23 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
四种会话跟踪技术
2015/05/20 面试题
竞选班干部的演讲稿
2014/04/24 职场文书
2014年度工作总结报告
2014/12/15 职场文书
2016三八妇女节校园广播稿
2015/12/17 职场文书
2016年优秀共青团员事迹材料
2016/02/25 职场文书
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android