本文实例为大家分享了python3实现qq邮箱登陆并发送邮件功能的具体代码,供大家参考,具体内容如下
基于selenium,使用chrome浏览器,完成qq邮箱登陆并发送发邮件功能,暂时未封装。qq邮箱和126邮箱登陆还是有一些区别的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#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邮箱发送邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
#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() |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/kongsuhongbaby/article/details/83999037