电话
400 9058 355
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()
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
邮箱:8955556@qq.com
Q Q:8955556
这篇文章主要为大家详细介绍了Android自定义控件实现底部...
这篇文章主要介绍了Android中Toolbar随着Scro...
本文主要介绍了Java图表类库的相关知识。具有很好的参考价值...
本文主要介绍了GIt的基本操作。具有很好的参考价值,下面跟着...
共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有...
这篇文章主要为大家详细介绍了Android自定义相机实现定时...
这篇文章主要介绍了CentOS6.5 上部署 MySQL5....
这篇文章主要介绍了Vue结合原生js实现自定义组件自动生成示...
最近在学习python网络编程这一块,在写简单的socket...
这篇文章主要介绍了微信小程序 数据交互与渲染实例详解的相关资...