python3+selenium实现qq邮箱登陆并发送邮件功能
更新时间:2019年01月23日 10:20:02 作者:小小小小人ksh
这篇文章主要为大家详细介绍了python3+selenium实现qq邮箱登陆,并发送邮件功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了python3实现qq邮箱登陆并发送邮件功能的具体代码,供大家参考,具体内容如下
基于selenium,使用chrome浏览器,完成qq邮箱登陆并发送发邮件功能,暂时未封装。qq邮箱和126邮箱登陆还是有一些区别的。
#encoding=utf-8 from selenium import webdriver import time #启动chrome浏览器 driver = webdriver.Chrome() #进入qq邮箱登陆首页 driver.get("https://mail.qq.com/") time.sleep(1) #窗口最大化 driver.maximize_window() #切换到登陆frame(!!!!!!!!必须先切换!!!!!!!!) driver.switch_to.frame('login_frame') driver.find_element_by_xpath("//*[@id='switcher_plogin']").click() time.sleep(3) #########登陆 #输入用户名 username = driver.find_element_by_xpath("//*[@id='u']") username.clear() #将xxxxxxxxxx换成qq邮箱账户 username.send_keys('xxxxxxxxxx') #输入密码:将1111111111替换为自己的邮箱密码 driver.find_element_by_id('p').send_keys('1111111111') #点击登陆 driver.find_element_by_id('login_button').click() time.sleep(10) #断言登陆成功 assert '退出' in driver.page_source #########写信 #单击写信按钮 driver.find_element_by_link_text("写信").click() time.sleep(2) #切换到mainFrame driver.switch_to.frame('mainFrame') time.sleep(2) #输入收件人 driver.find_element_by_xpath("//*[@id='toAreaCtrl']/div[2]/input").send_keys('123456789@qq.com') #输入主题 driver.find_element_by_id('subject').send_keys('test') #输入正文 o=driver.find_elements_by_class_name("qmEditorIfrmEditArea") o[0].click() #!!!!!!!must click!!!!!!! o[0].send_keys("abc") #点击发送按钮 driver.find_element_by_xpath("//*[@id='toolbar']/div/a[1]").click() time.sleep(3) ##driver.find_element_by_xpath('//a[@name="sendbtn" and @tabindex="9"]').click() time.sleep(3) #断言发送成功 assert u"再写一封" in driver.page_source #关闭浏览器 driver.quit()
小编再为大家分享一段代码:python+selenium自动登录QQ邮箱发送邮件
#coding=utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time driver = webdriver.Chrome() url =("https://mail.qq.com/") name=("874**5483") key = ("Zly1****612X") out_name=("65750**8@qq.com") # #打开浏览器 driver.get(url) driver.implicitly_wait(10) #最大化窗口 driver.maximize_window() #切换iframe driver.switch_to.frame("login_frame") # #定位至账号密码登录 # driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click() # #账号,密码输入 # driver.find_element_by_xpath('//*[@id="u"]').send_keys(name) # driver.find_element_by_xpath('//*[@id="p"]').send_keys(key) # #点击登录 # driver.find_element_by_xpath('//*[@id="login_button"]').click() #点击头像登录 driver.find_element_by_xpath('//*[@id="img_out_874335483"]').click() time.sleep(5) #点击写信 driver.find_element_by_xpath('//*[@id="composebtn"]').click() time.sleep(3) #切换iframe至写信 driver.switch_to.frame("mainFrame") #driver.switch_to.frame(driver.find_element_by_id('mainFrame')) time.sleep(3) #添加收件人 driver.find_element_by_xpath('//*[@id="toAreaCtrl"]/div[2]/input').send_keys(out_name) #添加主题 driver.find_element_by_xpath('//*[@id="subject"]').send_keys("TestCase1") #退出当前编辑Iframe driver.switch_to.default_content() #切换Iframe至编辑正文 driver.switch_to.frame("mainFrame") #Body_frame=driver.find_element_by_xpath('//iframe[@scrolling="auto"]') Body_frame=driver.find_element_by_class_name("qmEditorIfrmEditArea") driver.switch_to.frame(Body_frame) #添加正文 driver.find_element_by_xpath('/html/body').send_keys("I LOVE Python") time.sleep(3) #退回大Frame再点击发送 driver.switch_to.parent_frame() driver.find_element_by_xpath('//*[@id="toolbar"]/div/a[1]').click()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
如何使用draw.io插件在vscode中一体化导出高质量图片
这篇文章主要介绍了draw.io插件在vscode中一体化导出高质量图片需要的工具是vscode, draw.io扩展,draw.io桌面版 、python,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴,需要的朋友可以参考下2022-08-08
最新评论