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() #点击登录
  • 相关阅读:
    WSL配置c语言环境
    vue无法获取$store中的变量
    接口自动化中全局参数以及用例信息
    正则表达式
    vue-i18n web 前端国际化
    elementui默认样式修改的问题
    setTimeOut的使用以及this指向问题
    elementui 在表格表头里面添加按钮
    各种
    element ui tabs标签页动态增加标签页,标签页引用组件
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/10009129.html
Copyright © 2011-2022 走看看