登录页面输入手机号, 获取短信验证码(验证码有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='',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() #点击登录

python+pymssql+selenium 获取短信验证码登录(实战练习)的更多相关文章

  1. springboot +spring security4 自定义手机号码+短信验证码登录

    spring security 默认登录方式都是用户名+密码登录,项目中使用手机+ 短信验证码登录, 没办法,只能实现修改: 需要修改的地方: 1 .自定义 AuthenticationProvide ...

  2. SpringBoot + Spring Security 学习笔记(五)实现短信验证码+登录功能

    在 Spring Security 中基于表单的认证模式,默认就是密码帐号登录认证,那么对于短信验证码+登录的方式,Spring Security 没有现成的接口可以使用,所以需要自己的封装一个类似的 ...

  3. Spring Security构建Rest服务-1203-Spring Security OAuth开发APP认证框架之短信验证码登录

    浏览器模式下验证码存储策略 浏览器模式下,生成的短信验证码或者图形验证码是存在session里的,用户接收到验证码后携带过来做校验. APP模式下验证码存储策略 在app场景下里是没有cookie信息 ...

  4. Spring Security实现短信验证码登录

    Spring Security默认的一个实现是使用用户名密码登录,当初我们在开始做项目时,也是先使用这种登录方式,并没有多考虑其他的登录方式.而后面需求越来越多,我们需要支持短信验证码登录了,这时候再 ...

  5. SpringCloud微服务实战——搭建企业级开发框架(二十六):自定义扩展OAuth2实现短信验证码登录

    现在手机验证码登录似乎是每个网站必备的功能,OAuth2支持扩展自定义授权模式,前面介绍了如何在系统集成短信通知服务,这里我们进行OAuth2的授权模式自定义扩展,使系统支持短信验证码登录. 1.在g ...

  6. jQuery获取短信验证码+倒计时实现

    jQuery 短信验证码倒计时 <script type="text/javascript" charset="utf-8"> $(function ...

  7. PHP获取短信验证码

    PHP如何获取短信验证码?以下是创蓝253短信平台下的PHP接口代码案例:   <?php header("Content-type:text/html; charset=UTF-8& ...

  8. iOS点击获取短信验证码按钮

    概述 iOS点击获取短信验证码按钮, 由于 Demo整体测试运行效果 , 整个修改密码界面都已展现, 并附送正则表达式及修改密码逻辑. 详细 代码下载:http://www.demodashi.com ...

  9. android 获取短信验证码倒计时

    android 获取短信验证码倒计时 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWVuZ2xlbGUxMzE0/font/5a6L5L2T/fonts ...

随机推荐

  1. BankNote

    # coding=utf-8 import pandas as pd import numpy as np from sklearn import cross_validation import te ...

  2. windows同时安装python2和python3两个版本

    1.安装python2 下载地址: https://www.python.org/downloads/windows/ 进入页面,下拉,64位系统要选择这个. 下载完成后,一直点击下一步,直到安装完毕 ...

  3. DB Intro - MongoDB Basic

    mongoDB basic from:http://www.tutorialspoint.com/mongodb prject:https://github.com/chenxing12/l4mong ...

  4. (转)shell--read命令的选项及用法

    shell--read命令 原文:https://www.cnblogs.com/lottu/p/3962921.html http://blog.csdn.net/skdkjzz/article/d ...

  5. flume 自定义sink

    http://flume.apache.org/FlumeDeveloperGuide.html#sink 看了 还是比较好上手的,简单翻译一下 sink的作用是从 Channel 提取 Event  ...

  6. HDU 4460 Friend Chains

    Problem Description For a group of people, there is an idea that everyone is equals to or less than ...

  7. 读书笔记-NIO的工作方式

    读书笔记-NIO的工作方式 1.BIO是阻塞IO,一旦阻塞线程将失去对CPU的使用权,当前的网络IO有一些解决办法:1)一个客户端对应一个处理线程:2)采用线程池.但也会出问题. 2.NIO的关键类C ...

  8. mobile开发技巧(转)

    1.隐藏地址栏 很多文档介绍通过调用 window.scrollTo(0, 1); 就可以隐藏地址栏,但是通过实践发现隐藏地址栏还是真够坑爹的啊,只调用这一句话一般不会起作用,我们需要 functio ...

  9. FZU 1924——死锁——————【topo判环】

    死锁 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Pr ...

  10. nyoj 269——VF——————【dp】

    VF 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 Vasya is the beginning mathematician. He decided to make ...