【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)

目录

前言

目标

分析x0

分析x1 

分析x2

代码

结语 


前言

        大家好,我叫善念。着实是有些单子无法拿出来给大家分享,至于原因大家应该也猜得到,总是带着点看不清的颜色。

        其实谈不上外包项目,不过是我自己制作的一些成品加密软件,给出一张卡密而已。不过我还是愿意分享给大家。因为难度并不高,而且很有价值空间,加上官方也一直不去和谐这个东西,所以呢,我就记录一下这个实战。

        【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第1张图片

目标

        网址为:Google注册页面(需开梯子)

        原理很简单,就是利用Google的注册接口发信,我一般称之为大战协议,或者大战脚本吧,因为咱们今天做的确实是脚本。

        【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第2张图片

         确实有能力的可以去过一下JavaScript逆向。

分析x0

        这个注册流程就简单了,输入姓名、点击改用当前电子邮件地址、输入密码、确认密码、点击下一步。【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第3张图片

         看我给大家示范一下会出现什么结果,先填好资料:

【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第4张图片

         当我点击下一步后:【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第5张图片

        emmmm,看到效果了吧。

【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第6张图片

分析x1 

        既然是说了做Python脚本,又是再网页模拟填表,那么继续利用咱们老框架selenium。

        .....每次都要去以前的文章里面复制粘贴告诉你们如何配置selenium,看来到时候要专门写篇selenium的教程了(以下都是从我老文章中复制的)。

插件的安装

        关于selenium这个模块,咱们来重点介绍一下:

        Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。

        如果不能够理解我就讲点白话,如果你是web开发人员,开发好了几百个网站,那么如果你认为的去一个个的测试BUG,是不是很浪费时间?而selenium这个框架就是用来模拟人去自动化操控浏览器的,那么是不是就节约了很多时间呢。

        既然selenium能够操控浏览器,那么它们之间必须要有一个桥梁,总不能无中生有吧?

        那么操控的浏览器款式不一样,中间的桥梁也是不一样的。比如我更喜欢用chrome浏览器,那么咱们需要下载一个selenium与Chrome的桥梁——Chromedriver插件。

下载地址【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第7张图片

        下载与你当前谷歌浏览器版本最相近的Chromedriver【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第8张图片

        那么像我的话,下载 即可。

        Windows系统需下载32位,其它的自己看着办。点进去下载win32即可。【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第9张图片

        那么如何让Python与selenium连接起来呢,这里咱们需要配置一个环境变量,就是把Python与selenium处于同一个目录:【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第10张图片

        到此为止,咱们的环境就搭建好了。

分析x2

        那么这个东西,真的没什么好讲的,就是找到输入框模拟输入,然后模拟点击下一步......没啥任何技术含量。【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第11张图片

        加上UI设计也才没到400行代码,总之就是太简单了阿。下面直接给大家上核心代码吧。

代码

        driver = webdriver.Chrome()
        wait = WebDriverWait(driver, 20)
        driver.delete_all_cookies()
        driver.get(f'https://accounts.google.com/signup/v2/webcreateaccount?hl=zh-TW&flowName=GlifWebSignIn&flowEntry=SignUp')
        # 输入姓名
        xm = ''

        # 姓

        x = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="lastName"]')))
        x.send_keys(xm.strip().split('----')[0])

        # 名
        m1 = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="firstName"]')))
        m1.send_keys(xm.strip().split('----')[1])

        # 管理
        gl = wait.until(
            EC.element_to_be_clickable((By.XPATH, '//*[@id="view_container"]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[2]/div[3]/div/div/button'))
        )
        gl.click()
        # 输入邮箱
        yx = ''
        # 邮箱
        yx1 = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="username"]')))
        yx1.send_keys(str(yx).strip())
        # 密码输入
        mmm = str(18508474044 + random.randint(0, 208474044)) + 'Aq'
        # 密码
        mm = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="passwd"]/div[1]/div/div[1]/input')))
        mm.send_keys(mmm)

        # 密码确认
        mmqr = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="confirm-passwd"]/div[1]/div/div[1]/input')))
        mmqr.send_keys(mmm)

        # 确认点击
        qr = wait.until(
            EC.element_to_be_clickable((By.XPATH, '//*[@id="accountDetailsNext"]'))
        )
        qr.click()
        time.sleep(3.5)

        driver.quit()

结语 

        ——可以说我不走正途,而我只是想告诉大家,水在沙漠里更值钱。

        我并没有包含任何私心,绝对的无偿分享知识,你在怨我?

        【Python】无需发件箱自动发送邮件脚本,为我挣了上万月的简单项目(我想上热榜)_第12张图片

你可能感兴趣的:(Python,python,selenium)