python 写脚本 预约课程_Python盘纪念币系列之三:自动预约脚本编写 03 系列总结...
前一篇遺漏了“預(yù)約兌換日期”的自動輸入,這篇文章將介紹如何處理。另外,將會對“Python盤紀(jì)念幣系列”做一個簡單的總結(jié)。
自動輸入預(yù)約兌換日期
不像文本輸入框和下拉選擇框,這個兌換日期元素點擊之后會出現(xiàn)一個日期選擇控件,看起來確實比前兩者難以處理,不知道從何下手。
其實還是一樣的,我們一步一步來處理。
在這之前,發(fā)現(xiàn)代碼中有大量的重復(fù)語句,于是將這些語句挑出來寫成獨立的方法:
def find_and_click(driver, xpath):
ele = driver.find_element_by_xpath(xpath)
ele.click()
def find_and_fill(driver, xpath, value):
ele = driver.find_element_by_xpath(xpath)
ele.send_keys(value)
他們的作用是什么相信讀者一看就能知道,函數(shù)名寫的很清楚。
那接下來肯定還是要先定位到這個文本框,定位到之后,執(zhí)行點擊操作,呼出日期選擇器。一句話搞定:
find_and_click(driver, '//*[@id="coindate"]')
看著上面那個日期選擇器,似乎真的無從下手。但仔細(xì)想想,既然它能在網(wǎng)頁中出現(xiàn),那它肯定是有對應(yīng)的網(wǎng)頁路徑的。所以,這里來查看一下:
對應(yīng)的每一個日期也都是可以索引到的:
例如,上圖中的12就可以用下面的xpath索引到:
//*[@id="ui-datepicker-div"]/table/tbody/tr[3]/td[4]/span
熟悉html的同學(xué)應(yīng)該知道,
和標(biāo)簽是表格符號,所以這個日期選擇器其實就是一個表格,通過對和標(biāo)簽的下標(biāo)進(jìn)行遍歷即可找到對應(yīng)的元素。如果本頁遍歷結(jié)束都還沒有找到,則點擊箭頭到下一頁繼續(xù):而且是否可以選擇可以直接根據(jù)上面title中的“不在兌換期”判斷。
如果是可以兌換的日期,title則顯示為“可選擇”,如下:
經(jīng)過上述分析,最后我們的代碼大概是這樣的:
for tr_index in range(6):
for td_index in range(7):
try:
ele_td = driver.find_element_by_xpath(
'//*[@id="ui-datepicker-div"]/table/tbody/tr[{}]/td[{}]'.format(str(tr_index + 1), str(td_index + 1)))
except:
continue
if ele_td.get_attribute('title') == '可選擇':
is_find = True
ele_td.click()
return
這樣,最后一個攔路虎也解決了,我們終于可以開開心心的盤紀(jì)念幣了。
說一句題外話,這個系列講的是預(yù)約農(nóng)行的紀(jì)念幣,但其實其他銀行也是同樣的道理。我正在做工行的腳本,目前也快要完工,有需要可以公眾號后臺聯(lián)系。
盤紀(jì)念幣系列總結(jié)
說實話,我一開始也沒想到我能堅持下來寫完這一個系列。雖然不是什么很難的問題,但好歹是一步一步、一片一片、一點一點的講完了。當(dāng)然,文章有不少的缺陷,有的地方可以講的細(xì)一些卻沒有精講,有些地方比較類似卻花了大量篇幅。但這些,我相信都是可以慢慢學(xué)習(xí)慢慢更正的,所以我更看重這個從0到1的質(zhì)變。
題外話不多說,Python盤紀(jì)念幣系列是一個利用python語言自動在網(wǎng)頁上輸入信息進(jìn)行紀(jì)念幣預(yù)約的系列文章。
這個系列的主要技術(shù)點有三個。
第一,利用OpenCV庫處理驗證碼圖片,分割出每一個字符;
第二,訓(xùn)練神經(jīng)網(wǎng)絡(luò)智能識別字符(當(dāng)然這并不是唯一的識別驗證碼的方案);
第三,利用selenium庫自動化測試,將信息填入網(wǎng)頁中實現(xiàn)自動預(yù)約。
想要詳細(xì)了解可以翻翻這個系列的文章,如下所示。
寫完這個系列,接下來會寫一寫跟微信有關(guān)系的文章,比如說微信群機(jī)器人、微信個人輔助之類的文章。因為平時玩微信比較多,也喜歡搞一些小trick。
當(dāng)然了,不管寫什么,希望能跟更多人溝通,有問題或者需求隨時歡迎交流。
我所有的源代碼都會放在下面的github倉庫里面,有需要可以參考,有問題歡迎指正,謝謝!
https://github.com/TitusWongCN/
下面是我的公眾號,有興趣可以掃一下:
總結(jié)
以上是生活随笔為你收集整理的python 写脚本 预约课程_Python盘纪念币系列之三:自动预约脚本编写 03 系列总结...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 豆腐沙拉怎么做好吃呢?
- 下一篇: python统计字母空格个数_pytho