python获取控制浏览器01 163邮箱自动登录发送邮件

python获取控制浏览器01 163邮箱自动登录发送邮件

主要内容

主要就是模拟登录,然后定位输入文字的框进行发件人、主题、主题等内容填写。
在进行过程中遇到的问题主要有:
1.采用火狐浏览器
2.frame切换
3. 数据定位
4. 加载时间等待
5. 信息发送

打开网址

主要利用webdriver启动火狐浏览器,打开163邮箱界面

账号密码登录

time.sleep(5)等待5秒,以防未加载,捕捉不到信息报错
定位frame,发现frame后是动态数字变化,于是先大概定位到那个位置,在switch到精确位置
loginframe=browser.find_element_by_xpath("//*[@id=‘loginDiv’]/iframe")
browser.switch_to.frame(loginframe)
然后再定位登录名、密码,然后利用send_keys(‘xxx’)

收件人、主题、内容、发送

确定好输入框的定位,要准确不然会报错(我还不会贴图。。。文字叙述一下吧)

完整代码


#163邮箱自动登陆
#打开网址
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

browser=webdriver.Firefox()
browser.get('https://mail.163.com/')

#账号密码登陆
time.sleep(5) #防止未加载完成,获取不到报错
LoginFrame=browser.find_element_by_xpath("//*[@id='loginDiv']/iframe")
browser.switch_to.frame(LoginFrame)

LoginName=browser.find_element_by_xpath("//*[@class='j-inputtext dlemail']")
LoginName.send_keys('xxx')

Password=browser.find_element_by_xpath("//*[@class='j-inputtext dlpwd']")
Password.send_keys('xxx')
Password.send_keys(Keys.ENTER)

#收信人、主题、内容
time.sleep(5) #防止未加载完成,获取不到报错
browser.switch_to.default_content()
browser.find_element_by_xpath("//div[@id='dvNavTop']/ul/li[2]/span[2]").click()#这里的定位下表是从1开始的

name=browser.find_element_by_xpath("//*[@aria-label='收件人地址输入框,请输入邮件地址,多人时地址请以分号隔开']")
name.send_keys('xxxx@qq.com')
#title=browser.find_element_by_xpath("//*div[@aria-label='邮件主题输入框,请输入邮件主题']")
title=browser.find_elements_by_class_name("nui-ipt-input")[2]
title.send_keys('测试')

letterframe=browser.find_element_by_xpath("//*[@class='APP-editor-iframe']")
browser.switch_to.frame(letterframe)

content=browser.find_element_by_xpath("//*[@class='nui-scroll']")
content.send_keys('测试测试测试')

#发送
browser.find_element_by_class_name("nui-btn-text")[-2].click()  #为什么[-2]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值