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中对象property的删除方法介绍
Dec 30 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
Dec 16 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
Nov 13 Javascript
easyUI下拉列表点击事件使用方法
May 18 Javascript
简易Vue评论框架的实现(父组件的实现)
Jan 08 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
Mar 12 Javascript
详解javascript中的Error对象
Apr 25 Javascript
vue+element加入签名效果(移动端可用)
Jun 17 Javascript
vue在路由中验证token是否存在的简单实现
Nov 11 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
Apr 09 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
Oct 29 Javascript
Vite和Vue CLI的优劣
Jan 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 checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
Prototype Array对象 学习
2009/07/19 Javascript
javascript 继承实现方法
2009/08/26 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
JavaScript实现的CRC32函数示例
2016/11/23 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
2018/05/08 Javascript
vue项目使用axios发送请求让ajax请求头部携带cookie的方法
2018/09/26 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
基于elementUI使用v-model实现经纬度输入的vue组件
2019/05/12 Javascript
node.js中npm包管理工具用法分析
2020/02/14 Javascript
Python制作爬虫采集小说
2015/10/25 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
python图像处理入门(一)
2019/04/04 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
网络工程专业毕业生推荐信
2013/10/28 职场文书
英语系毕业生自荐信
2013/10/31 职场文书
黄金搭档广告词
2014/03/21 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
Python OpenCV 图像平移的实现示例
2021/06/04 Python
深入理解go缓存库freecache的使用
2022/02/15 Golang