python3读取数据库短信验证码

本文介绍了在自动化测试中如何绕过短信验证码的一种方法:通过读取数据库获取最新验证码。文章详细讲述了使用Python连接数据库并读取验证码的过程,包括解决数据类型匹配问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在网站好多都要短信验证,做自动化时想要绕过有很多方法

1.测试环境注释掉这个功能,但发布到其它环境怕会有遗漏

2.万能码,但不小心就会被其它开发给覆盖了,或者不小心点击了发送验证码后,你这个验证码就失效了

3.自己想办法,比如读取数据库,拿到最新的验证码

https://www.cnblogs.com/woider/p/5926744.html   学习了这位大神的帖子才有了方向,感谢!

今天讲第三种方法,直接贴代码

28a14284da55b7958a9bf03778438054ccb.jpg

讲几点,python2支持mysqldb,但python3还不支持,所以只能用pymysql代替,安装也很简单,终端命令:pip install pymysql即可 

看代码里的connect:db是指你读取的数据库名称;这里踩的坑是怎么把数据库里取出来的check_code转换为数字,直接使用code.split是不行的,左试右试都是不行,一直报错,最后没办法了,试着打印下 code的类型,麻的,居然是tuple,其实我内心在看到code格式的一瞬间就已经坚信它是str了,所以根本没往这上面想,要不找不出原因,我估计也不会去打印这个type~~ 所以除了基础要扎实,一定要有opening mind(这两者我都还欠缺~~)。知道了数据类型后,那个单引号的分割我不会,百度了下,添加转义符,就能很愉快的使用split提取出数字了

另一个提取的方式(取下标,从0开始数)

4c1e6ece5dae5df9545a3ebbaad77e35e05.jpg

——————————————————————————————————————————————

0ae08c137f794e5c84dc807dce2c4d81cfa.jpg

这个方法在调用 的时候发现有点问题,因为我没有写方法,所以在调用mysql这个文件的时候他已经直接调用了,导致我的验证码一直读的是第二条,而不是最新的第一条。所以这里添加了一个方法,再加一个return去调用first变量,就没有问题了

data = driver.mysql.usemysql()

转载于:https://my.oschina.net/EvanDev/blog/3029004

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值