登录页面输入手机号, 获取短信验证码(验证码有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. 爬虫之自动生成url

    Object.extend=function(props){ //继承父类 var prototype=Object.create(this.prototype) //初始化函数ctor var _C ...

  2. 【记录】BurpSuite之Grep-Extract

    借助一次sql注入来说明Grep-Extract的作用 要报出当前数据库中所有表名,这里可以有多种方法,我借助limit语句,以此来说明Grep-Extract的用法.

  3. 案例44-crm练习新增客户使用struts2

    1 src下配置文件 1 struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYP ...

  4. 动态替换animator的研究

    http://blog.csdn.net/tonnychu/article/details/49903657 http://blog.csdn.net/tlrainty/article/details ...

  5. 树莓派3(Raspbain系统)安装.net环境

    因为公司之前做的网站项目都是基于微软的.net平台,现在需要在树莓派3上测试它是否能负载起正常的访问请求.最开始直接的想到微软3月份刚发布针对于树莓派3的win10系统,其实说是win10,也就是一个 ...

  6. LaTex 2

    LaTex 入门 此时是否安装成功 如果安装成功了LaTeX, 那么在计算机上会多出来LaTeX的编译器, LaTex Live 安装包在计算机上安装了多个不同的编译器, 有latex, xelate ...

  7. 使用setInterval函数改变网页背景的颜色

    var icolor=0; var iNum=256; var iID=setInterval(setbgColor, 500); function setbgColor() { body.backg ...

  8. C# 使用cookie实现登录

    首先,我们需要做的是什么? 我们成功登录之后,跳转到主界面,然后主界面的登录按钮变成头像啥的.下一次打开网页就要判断有没有登录过,有cookie就不需要登录,直接显示头像 1.成功登录后,客户端请求服 ...

  9. GridView .net访问

    HTML code <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns=&qu ...

  10. Linux 套接字编程 - select

    select 可以感知文件表述符集合中的变化,如果办fd0(即标准输入)放入select的read fd set,发现只有按回车的时候select才会返回.查了下要把终端的缓冲大小设为1,这样就能实现 ...