Python+selenium自动循环发邮件

Posted Alick陈彬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python+selenium自动循环发邮件相关的知识,希望对你有一定的参考价值。

Python源代码如下:

# coding=utf-8
from selenium import webdriver
from time import sleep
from random import randint


def auto_throw(target_qq, username, password):
    """自动循环发邮件"""
    driver = webdriver.Chrome()
    driver.get("https://mail.qq.com")
    driver.set_window_size(1100, 580)
    sleep(1)
    # 切换iframe表单
    driver.switch_to.frame("login_frame")
    driver.find_element_by_xpath(//*[@id="u"]).send_keys(username)
    driver.find_element_by_xpath(//*[@id="p"]).send_keys(password)
    driver.find_element_by_xpath(//*[@id="login_button"]).click()
    sleep(1)
    # 将表单切回到最外层
    driver.switch_to.default_content()
    sleep(2)
    m = 0
    while True:
        try:
            m += 1
            driver.switch_to.default_content()
            driver.find_element_by_xpath(//*[@id="composebtn"]).click()
            sleep(1)
            driver.switch_to.frame("mainFrame")
            # driver.find_element_by_xpath(‘//div[@title="陌生人"]/a‘).click()      # 好友分组
            driver.find_element_by_xpath(//a[@title="%[email protected]"]%target_qq).click()    # 选择好友
            sleep(1)
            driver.find_element_by_xpath(//input[@title="主题是一封邮件的标题,可不填。"]).send_keys(
                "第%d封邮件发送成功! 随机代号为%d!"%(m, randint(100000,1000000)))      # 主题
            driver.find_element_by_xpath(//a[@name="sendbtn"]).click()
            print("第%d封邮件发送成功!"%m)
            sleep(1)
        except:
            print("发送失败!")
            sleep(1)


if __name__ == __main__:
    print("--------自动发邮件--------")
    target_qq = input("请输入对方qq号:")
    username = input("输入你的QQ邮箱用户名:")
    password = input("输入你的QQ邮箱登录密码:")
    auto_throw(target_qq, username, password)

 

以上是关于Python+selenium自动循环发邮件的主要内容,如果未能解决你的问题,请参考以下文章

udp 服务端 | udp 客户端 --循环发消息

如何在 PyQt 中向事件循环发出自定义事件

5Selenium+Python自动登录163邮箱发送邮件

python selenium-7自动发送邮件

Selenium+python自动化22-发送各种类型附件邮件

Python发邮件