zoukankan      html  css  js  c++  java
  • python+pymssql+selenium 获取短信验证码登录(实战练习)

     登录页面输入手机号, 获取短信验证码(验证码有10分钟有效期)

    1 连接sql server数据库,获取10分钟之内的有效短信验证码

    2 页面输入手机号,并获取验证码。若存在有效验证码则输入验证码,若不存在则点击发送验证码后再获取验证码。

    # coding:utf-8
    
    '''
    dinghanhua
    获取验证码自动登录
    ''' from selenium import webdriver
    import time
    #获取有效验证码
    import
    pymssql def get_sms_code(mobile): '''获取手机号最新的一条有效验证码''' with pymssql.connect(server='192.168.1.1',user='tester',password='111111',database='sms') as dbconnect: with dbconnect.cursor(as_dict=True) as cursor: cursor.execute("""SELECT TOP 1 SMS,CreateDate FROM SMSLog where mobile=%s and createdate > dateadd(minute,-10,GETDATE()) order by CreateDate desc""",mobile) #获取当前时间前10分钟之内的验证码 row = cursor.fetchone() if row: code = row['SMS'].split('')[1][0:4] #截取短信中的验证码。您的验证码是:1234.10分钟内有效 return code
    
    

    url
    = 'http://testurl/' #环境地址 phone = 'phonenumber' #手机号 browser = webdriver.Chrome() browser.get(url) time.sleep(1) browser.find_element_by_id('Phone').send_keys(phone) #输入手机号 code = get_sms_code(phone) #获取10分钟以内的验证码 if not code: #若不存在,则点击发送验证码,再获取验证码 browser.find_element_by_id('btnsend').click() #点击发送验证码 time.sleep(2) code = get_sms_code(phone) browser.find_element_by_id('smsCode').send_keys(code) #输入验证码 browser.find_element_by_id('btnLogin').click() #点击登录
  • 相关阅读:
    Jenkins发布.net core程序
    CentOS7部署Jenkins
    ASP.NET Core 中的响应缓存中间件
    浏览器缓存
    WEB缓存
    Jmeter常用插件——梯度加压、响应时间、TPS
    Jmeter压测报错:Non HTTP response code: java.net.ConnectExceptionexception的解决办法
    Linux如何安装rpm文件
    Prometheu---配置文件修改
    Grafana介绍---prometheus系列
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/10009129.html
Copyright © 2011-2022 走看看