Python 编程快速上手 让繁琐工作自动化-第十一章实践项目 11.11.1命令行邮件程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 编程快速上手 让繁琐工作自动化-第十一章实践项目 11.11.1命令行邮件程序相关的知识,希望对你有一定的参考价值。

11.11.1 命令行邮件程序

  1. 编写一个程序,通过命令行接受电子邮件地址和文本字符串。然后利用selenium
    登录到你的邮件账号,将该字符串作为邮件,发送到提供的地址(你也许希望为这
    个程序建立一个独立的邮件账号)。
    这是为程序添加通知功能的一种好方法。你也可以编写类似的程序,从
    Facebook 或Twitter 账号发送消息。
    这个项目弄了好几天,头都快炸了,终于弄好了
    代码如下:
    #!/usr/bin/env python
    #encoding:utf-8

‘‘‘br/>@author:Kevin
@contact:[email protected]
br/>@file:eMail.py
@time:2019/3/1/0001 15:29
br/>@desc:
命令行邮件程序
‘‘‘
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

url=‘https://www.yeah.net

browser = webdriver.Chrome() #打开浏览器

browser.get(url)

time.sleep(2)
#切换iframe
#browser.switch_to.frame(‘x-URS-iframe‘) #报错
#上面那条语句中,iframe的切换是默认支持id和name的方法的,
#当然实际情况中会遇到没有id属性和name属性为空的情况,
#这时候就需要先定位iframe
iframe=browser.find_element_by_tag_name("iframe")
browser.switch_to.frame(iframe)

#查找email账号填写框
emailElem = browser.find_element_by_name(‘email‘)
emailElem.send_keys(‘not-a-real-email-address‘) # 调用send_keys()方法填写表单

#查找密码填写框
passwordElem = browser.find_element_by_name(‘password‘)
passwordElem.send_keys(‘****‘)

#查找登录按钮
loginElem = browser.find_element_by_id(‘dologin‘)
loginElem.click() #模拟鼠标点击登录
time.sleep(2) #
browser.switch_to.default_content()

#查找写信按钮
writeElem=browser.find_element_by_id(‘_mail_component_23_23‘)
writeElem.click() #模拟鼠标点击登录
time.sleep(2)

#填写收件人地址
recipientElem=browser.find_element_by_class_name(‘nui-editableAddr-ipt‘)
recipientElem.send_keys(‘[email protected]‘)

#填写邮件主题
subjectElem=browser.find_element_by_xpath("//*[@class=‘nui-ipt-input‘and @type = ‘text‘ and @tabindex = ‘1‘]")
subjectElem.send_keys(‘Hello!‘)

#填写邮件内容br/>mainbodyFrame=browser.find_element_by_xpath("//iframe[contains(@class,‘APP-editor-iframe‘)]")
browser.switch_to.frame(mainbodyFrame)
mainbodyElem=browser.find_element_by_class_name(‘nui-scroll‘)
mainbodyElem.send_keys(‘Hello! World!‘)
browser.switch_to.default_content()

#点击发送按钮
sendElem=browser.find_elements_by_class_name("nui-btn-text")[2]
sendElem.click()
time.sleep(5)
browser.quit()





以上是关于Python 编程快速上手 让繁琐工作自动化-第十一章实践项目 11.11.1命令行邮件程序的主要内容,如果未能解决你的问题,请参考以下文章

Python编程快速上手让繁琐工作自动化 第十二章实践项目12.13.3 电子表格单元格翻转程序

Python 编程快速上手 让繁琐工作自动化-第十一章实践项目 11.11.1命令行邮件程序

Python编程快速上手 让繁琐工作自动化 PDF下载

Python编程快速上手 让繁琐工作自动化 云图

Python编程快速上手 往让繁琐工作自动化-6.6 习题

Python编程快速上手-让繁琐工作自动化-第二章习题及其答案