python3讀取資料庫簡訊驗證碼
現在網站好多都要簡訊驗證,做自動化時想要繞過有很多方法
1.測試環境註釋掉這個功能,但釋出到其它環境怕會有遺漏
2.萬能碼,但不小心就會被其它開發給覆蓋了,或者不小心點選了傳送驗證碼後,你這個驗證碼就失效了
3.自己想辦法,比如讀取資料庫,拿到最新的驗證碼
https://www.cnblogs.com/woider/p/5926744.html 學習了這位大神的帖子才有了方向,感謝!
今天講第三種方法,直接貼程式碼
講幾點,python2支援mysqldb,但python3還不支援,所以只能用pymysql代替,安裝也很簡單,終端命令:pip install pymysql即可
看程式碼裡的connect:db是指你讀取的資料庫名稱;這裡踩的坑是怎麼把資料庫裡取出來的check_code轉換為數字,直接使用code.split是不行的,左試右試都是不行,一直報錯,最後沒辦法了,試著列印下code的型別,麻的,居然是tuple,其實我內心在看到code格式的一瞬間就已經堅信它是str了,所以根本沒往這上面想,要不找不出原因,我估計也不會去列印這個type~~所以除了基礎要紮實,一定要有opening mind(這兩者我都還欠缺~~)。知道了資料型別後,那個單引號的分割我不會,百度了下,新增轉義符,就能很愉快的使用split提取出數字了
另一個提取的方式(取下標,從0開始數)
——————————————————————————————————————————————
這個方法在呼叫的時候發現有點問題,因為我沒有寫方法,所以在呼叫mysql這個檔案的時候他已經直接呼叫了,導致我的驗證碼一直讀的是第二條,而不是最新的第一條。所以這裡添加了一個方法,再加一個return去呼叫first變數,就沒有問題了
data = driver.mysql.usemysql()
轉載於:https://my.oschina.net/EvanDev/blog/3029004