Python+Selenium隨機(jī)生成手機(jī)驗(yàn)證碼并檢查頁面上是否彈出重復(fù)手機(jī)號(hào)碼提示框
1、隨機(jī)生成格式正確手機(jī)號(hào)碼
# 隨機(jī)產(chǎn)生格式正確的手機(jī)號(hào)碼 def create_phone(self): num_start = ['134', '135', '136', '137', '138', '139', '150', '151', '152', '158', '159', '157', '182', '187', '188', '147', '130', '131', '132', '155', '156', '185', '186', '133', '153', '180', '189'] start = random.choice(num_start) # 隨機(jī)從列表中選擇一個(gè)元素 end = ''.join(random.sample(string.digits, 8)) # 隨機(jī)生成8個(gè)0-9的字符 phone_number = start + end return phone_number
2、檢查號(hào)碼是否重復(fù)
這里作檢查的前提是,號(hào)碼重復(fù)了頁面上會(huì)彈出重復(fù)的提示語,也可以和后臺(tái)數(shù)據(jù)庫作比較,不過這樣判斷比較快~提示重復(fù)則重新獲取
# 判斷手機(jī)號(hào)碼可不可用,不可用再生成 直到不會(huì)出現(xiàn)錯(cuò)誤提示,這里的xpath是提示框的 if self.driver.find_element_by_xpath('//*[@id="mobileNumberDiv"]/div[3]/div/div[1]'): btn_win = WebDriverWait(self.driver, 4).until( lambda d: d.find_element_by_xpath('//*[@id="mobileNumberDiv"]/div[3]/div/div[1]')) while btn_win.is_displayed(): phone_number = self.create_phone() self.driver.find_element(By.ID, "mobileNumber").clear() self.driver.find_element(By.ID, "mobileNumber").send_keys(self.create_phone())
總結(jié)
到此這篇關(guān)于Python+Selenium隨機(jī)生成手機(jī)驗(yàn)證碼并檢查頁面上是否彈出重復(fù)手機(jī)號(hào)碼提示框的文章就介紹到這了,更多相關(guān)Python+Selenium隨機(jī)生成手機(jī)驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一篇文章帶你搞懂Python類的相關(guān)知識(shí)
今天我們要說的是面向?qū)ο蟮暮诵?----類,類能幫我們把復(fù)雜的事情變得有條理,有順序,希望大家通過學(xué)習(xí)類能改善自己的編碼風(fēng)格,使代碼變得更為好看,更加通俗易懂,需要的朋友可以參考下2021-05-05python實(shí)現(xiàn)npy格式文件轉(zhuǎn)換為txt文件操作
這篇文章主要介紹了python實(shí)現(xiàn)npy格式文件轉(zhuǎn)換為txt文件操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07Python如何利用pandas讀取csv數(shù)據(jù)并繪圖
這篇文章主要介紹了Python如何利用pandas讀取csv數(shù)據(jù)并繪圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Python連接mssql數(shù)據(jù)庫編碼問題解決方法
這篇文章主要介紹了Python連接mssql數(shù)據(jù)庫編碼問題解決方法,本文方法同樣適用mysql、sqllite、mongodb等數(shù)據(jù)庫,需要的朋友可以參考下2015-01-01