目录

 

前言

 

目标

 

分析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()

 

 

结语

 

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

 

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

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!