欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python+selenium自动循环发邮件

程序员文章站 2022-12-07 20:39:27
Python源代码如下: ......

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="%s@qq.com"]'%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)