selenium+python登录163,并发送邮件

# 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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值