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中最常看到切最容易迷惑的语法(转)
Oct 29 Javascript
jQuery中position()方法用法实例
Jan 16 Javascript
JavaScript的jQuery库中ready方法的学习教程
Aug 14 Javascript
浅析JS运动
Dec 28 Javascript
node.js从数据库获取数据
May 08 Javascript
AngularJS教程之MVC体系结构详解
Aug 16 Javascript
Javascript中this关键字指向问题的测试与详解
Aug 11 Javascript
基于js中this和event 的区别(详解)
Oct 24 Javascript
Vue自定义全局弹窗组件操作
Aug 11 Javascript
Openlayers绘制聚合标注
Sep 28 Javascript
在vue中动态修改css其中一个属性值操作
Dec 07 Vue.js
JS前端可扩展的低代码UI框架Sunmao使用详解
Jul 23 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
咖啡常见的种类
2021/03/03 新手入门
PHP 页面编码声明方法详解(header或meta)
2010/03/12 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
JS解密入门 最终变量劫持
2008/06/25 Javascript
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
基于jquery的滚动新闻列表
2010/06/19 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
2013/12/13 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
javascript每日必学之封装
2016/02/23 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
利用Python开发微信支付的注意事项
2016/08/19 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
Python标准库itertools的使用方法
2020/01/17 Python
python如何爬取动态网站
2020/09/09 Python
Python 操作 MySQL数据库
2020/09/18 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
css3 transform属性详解
2014/09/30 HTML / CSS
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
童装店创业计划书
2014/01/09 职场文书
小学生暑假家长评语
2014/04/17 职场文书
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电