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 Tips 使用DocumentFragment加快DOM渲染速度
Jun 28 Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
May 07 Javascript
原生JS实现加入收藏夹的代码
Oct 24 Javascript
JavaScript中对象属性的添加和删除示例
May 12 Javascript
如何判断微信内置浏览器(通过User Agent实现)
Sep 01 Javascript
Javascript定义类(class)的三种方法详解
Mar 13 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
Apr 08 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
May 10 Javascript
基于Three.js插件制作360度全景图
Nov 29 Javascript
Node.js动手撸一个静态资源服务器的方法
Mar 09 Javascript
Node.js API详解之 querystring用法实例分析
Apr 29 Javascript
解决vue 退出动画无效的问题
Aug 09 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中一个控制字符串输出的函数
2006/10/09 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
php下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
2013/06/21 PHP
php限制文件下载速度的代码
2015/10/20 PHP
php 无限分类 树形数据格式化代码
2016/10/11 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
原生javaScript做得动态表格(注释写的很清楚)
2013/12/29 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
让编辑器支持word复制黏贴、截屏的js代码
2016/10/17 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
JS实现的数组去除重复数据算法小结
2017/11/17 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
[02:27]刀塔重生降临
2015/10/14 DOTA
Python中的TCP socket写法示例
2018/05/11 Python
Python版名片管理系统
2018/11/30 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
意大利网上购书网站:Libraccio.it
2021/02/03 全球购物
linux系统都有哪些运行级别
2016/03/26 面试题
2014年安全生产大检查方案
2014/05/13 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
组织委员竞选稿
2015/11/21 职场文书
如何书写邀请函?
2019/06/24 职场文书
详解CSS故障艺术
2021/05/25 HTML / CSS
redis缓存存储Session原理机制
2021/11/20 Redis
vue实现在data里引入相对路径
2022/06/05 Vue.js