python+selenium 發送郵件

import time
from selenium import webdriver
from selenium.webdriver import ChromeOptions
from selenium.webdriver.common.keys import Keys
from getpass import getpass


def run():
    driver.get(url='https://mail.qq.com/')
    # 遇到iframe,須要切換
    iframe_list = driver.find_elements_by_tag_name('iframe')
    # print(iframe_list)
    driver.switch_to.frame(iframe_list[1])

    # 輸入用戶名、密碼並登陸
    driver.find_element_by_class_name('inputstyle').send_keys(user)
    driver.find_element_by_class_name('password').send_keys(pwd)
    driver.find_element_by_class_name('password').send_keys(Keys.ENTER)
    # 點擊寫信
    driver.find_element_by_id('composebtn').click()
    iframe = driver.find_element_by_id('mainFrame')
    driver.switch_to.frame(iframe)
    # 輸入收件人、主題信息
    driver.find_element_by_xpath('//*[@id="toAreaCtrl"]/div[2]/input').send_keys(to)
    driver.find_element_by_xpath('//*[@id="subject"]').send_keys(theme)

    # 遇到body  iframe
    iframe_body = driver.find_element_by_class_name('qmEditorIfrmEditArea')
    driver.switch_to.frame(iframe_body)
    # 輸入文本
    driver.find_element_by_tag_name('body').send_keys(content)
    # 切出body  iframe
    driver.switch_to.default_content()
    driver.switch_to.frame(iframe)
    # 點擊發送按鈕
    driver.find_element_by_xpath('//*[@id="toolbar"]/div/a[1]').click()
    # time.sleep(3)
    # driver.quit()


if __name__ == '__main__':
    to = ''         # 你想發的郵箱
    theme = 'python自動發送郵件'
    content = '不用回,我就試試,哈哈哈。'
    user = ''       # QQ帳號
    pwd = getpass('密碼:')    # QQ密碼

    # 建立 option 對象
    option = ChromeOptions()
    option.add_experimental_option('excludeSwitches', ['enable-automation'])
    # 建立瀏覽器對象
    driver = webdriver.Chrome(options=option)
  '''
  driver = webdriver.Chrome(executable_path=r'E:\chromedriver.exe')
  '''
    driver.implicitly_wait(10)
    run()
相關文章
相關標籤/搜索