# coding:utf-8
from selenium import webdriver
import time
import datetime
def openbroser(url):
#driver = webdriver.Firefox() #Firefox/Ie/Chrome都可运行。
#driver = webdriver.Ie()
#启动浏览器并加载浏览器的静默模式,让它在后台运行
# option = webdriver.ChromeOptions()
# option.add_argument('headless')
# driver = webdriver.Chrome(chrome_options=option)
option = webdriver.ChromeOptions()
prefs = {'profile.default_content_setting_values':{'notifications': 2}}
option.add_argument("disable-infobars") # 关闭'chrome正受到自动测试软件的控制'提示
option.add_experimental_option('prefs',prefs) # 关掉浏览器左上角的通知提示
driver = webdriver.Chrome(chrome_options=option)
driver.get(url)
driver.find_element_by_id("switchAccountLogin").click()
page = driver.maximize_window() #将浏览器窗口最大化
return driver
def login163(driver):
# 由于163iframe不是以前的固定id:x-URS-iframe,现在是动态的id:x-URS-iframe1554887766952.4795
driver.switch_to.frame(driver.find_element_by_xpath("//iframe[starts-with(@id, 'x-URS-iframe')]"))
driver.implicitly_wait(5)
driver.find_element_by_name('email').clear()
driver.find_element_by_name('email').send_keys("email")
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys("password")
driver.find_element_by_id("dologin").click()
def writemail(driver):
# sourcecode = driver.page_source #获取网页源码
# print(sourcecode)
# url验证
url = driver.current_url
if url == "https://mail.163.com/":
print('url ok!')
else:
print("url false",url)
driver.find_element_by_xpath('//*[@id="_mail_component_24_24"]/span[2]').click()
driver.find_element_by_xpath('//div[starts-with(@id,"_mail_emailinput")]/input').send_keys(r"xxxx@163.com;xxxx@qq.com")
time.sleep(3)
curent_date = datetime.datetime.now()
f = open("The Kiloword.txt",encoding="utf-8")
fq = f.readlines()
f.close()
driver.find_element_by_xpath('//div[@class="bz0"]/div/input[contains(@id,"_subjectInput")]').send_keys("%s 学习报告邮件" % curent_date)
driver.switch_to_frame(driver.find_element_by_xpath('//div[starts-with(@id,"_mail_editor")]/div[1]/div[2]/iframe')) #切入到frame
driver.find_element_by_xpath('//html/body').send_keys(fq)
driver.switch_to_default_content() #切出frame
driver.implicitly_wait(5)
driver.find_element_by_xpath("//div[@class='nui-toolbar-item']/div/span[2]").click() # 发送
time.sleep(5)
print('发送成功')
driver.quit()
if __name__ == "__main__":
url = "https://mail.163.com/"
b = openbroser(url)
login163(b)
writemail(b)