使用selenium控制网页发送邮件

使用网页测试工具selenium自动发送邮箱

公司有一批服务器需要自动同步数据并发送邮箱,由于种种条件限制只能使用这种方式发送邮件
准备工作:
1.因为使用的是谷歌浏览器所以要下载谷歌驱动
http://chromedriver.storage.googleapis.com/index.html
查看自己的谷歌版本然后找到对应的下载

#以下是需要用到的模块
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
import time
import os
from selenium import webdriver
from selenium.webdriver import ActionChains
#获取当前时间
now = time.strftime("%Y-%m-%d", time.localtime())   
#移动目录,到保存文件的目录
os.chdir('D:/dir')
#打开文件
files = open('test.txt')
#随意变量名,以列表形式存储数据
cks = files.readlines()
#转换字符串形式
ks = str(cks)
#使用selenium时需要下载对应的驱动
bs = os.path.abspath('D:/谷歌驱动/chromedriver.exe')
#使用驱动打开测试浏览器
driver=webdriver.Chrome(bs)
#打开outloo邮箱
driver.get('https://outlook.live.com')
#鼠标点击事件
driver.find_element_by_xpath('/html/body/header/div/aside/div/nav/ul/li[2]/a').click()
time.sleep(2)
#获取当前浏览器页面,因为有的操作会导致改变html页面
search_window = driver.current_window_handle
#键盘输入事件
driver.find_element_by_id("i0116").send_keys("发件人邮箱@outloo.com")
driver.find_element_by_id("idSIButton9").click()
time.sleep(2)
search_window = driver.current_window_handle
driver.find_element_by_id("i0118").send_keys("8744gb..")
driver.find_element_by_id("idSIButton9").click()
#因为公司网络不好 所以等待时间长一点 可以根据网速调整
time.sleep(25)
search_window = driver.current_window_handle
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[1]/div[1]/div[1]/div[1]/div[2]/button').click()

time.sleep(5)
search_window = driver.current_window_handle
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[1]/div[1]/div[3]/div[2]/div/div[3]/div[1]/div/div/div/div[1]/div[1]/div[1]/div/div[1]/div/div/div/div/div[1]/div/div/input').send_keys('收件人@邮箱.com.cn')
time.sleep(5)
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[1]/div[1]/div[3]/div[2]/div/div[3]/div[1]/div/div/div/div[1]/div[1]/div[2]/div[2]/div/div/div/input').send_keys('自动播报%s'%now)
time.sleep(5)
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[1]/div[1]/div[3]/div[2]/div/div[3]/div[1]/div/div/div/div[1]/div[2]/div[1]').send_keys(ks)
time.sleep(15)
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[1]/div[1]/div[3]/div[2]/div/div[3]/div[1]/div/div/div/div[1]/div[3]/div[2]/div[1]/button[1]/span/i').click()
#关闭打开的文件
files.close()

你可能感兴趣的:(使用selenium控制网页发送邮件)