ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

无需发件箱Python自动发送邮件脚本,为我挣了上万月的简单项目

2021-09-14 12:32:21  阅读:233  来源: 互联网

标签:上万月 XPATH Python selenium until id div 发件箱 wait


目录

 

前言

 

目标

 

分析x0

 

分析x1

 

分析x2

 

代码

 

结语

 


 

前言

 

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

 

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

 

 

目标

 

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

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:701698587
欢迎加入,一起讨论 一起学习!

 

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

 

 

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

 

分析x0

 

这个注册流程就简单了,输入姓名、点击改用当前电子邮件地址、输入密码、确认密码、点击下一步。

 

 

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

 

 

当我点击下一步后:

 

 

emmmm,看到效果了吧。

 

 

分析x1

 

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

 

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

 

插件的安装

 

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

 

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

 

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

 

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

 

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

 

下载地址

 

 

下载与你当前谷歌浏览器版本最相近的Chromedriver

 

 

那么像我的话,下载

 

​即可。

 

Windows系统需下载32位,其它的自己看着办。点进去下载win32即可。

 

 

那么如何让Python与selenium连接起来呢,这里咱们需要配置一个环境变量,就是把Python与selenium处于同一个目录:

 

 

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

 

分析x2

 

那么这个东西,真的没什么好讲的,就是找到输入框模拟输入,然后模拟点击下一步......没啥任何技术含量。

 ​​​

加上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()

 

 

结语

 

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

 

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

标签:上万月,XPATH,Python,selenium,until,id,div,发件箱,wait
来源: https://www.cnblogs.com/pythonQqun200160592/p/15266851.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有