如何使用python實現(xiàn)模擬鼠標(biāo)點擊
這篇文章主要介紹了如何使用python實現(xiàn)模擬鼠標(biāo)點擊,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
不知道大家在工作中有沒有一些工作需要重復(fù)的點擊鼠標(biāo),因為會影響到財務(wù)統(tǒng)計報表的關(guān)系,我們每個月底月初都要修改ERP中的單據(jù)日期,單據(jù)多的時候光修改就能讓你點鼠標(biāo)點到手麻。(這里要吐槽一下浪沙軟件,別的單據(jù)都可以批量修改日期,就是這個移倉單不行,你們研發(fā)怎么就這么懶?剩下這么點工作就不完成他?)之前同事有跟我提到過鍵盤精靈,因為當(dāng)時負(fù)責(zé)別的工作,一直沒有去了解?,F(xiàn)在公司人員減少了,這工作又回到我身上了,剛好之前我在學(xué)習(xí)連連看的時候,知道Python 也能實現(xiàn)模擬鼠標(biāo)點擊,那就直接用上唄。
先來了解一下pyautogui。
pyautogui.moveTo,移動鼠標(biāo);pyautogui.click,點擊鼠標(biāo),通過button來控制左擊還是右擊,click=n設(shè)置點擊的次數(shù),interval控制點擊用的時間,有些程序確認(rèn)雙擊是有個時間間隔的,如果不加上這個間隔,還真沒辦法識別。(好吧,這里說的就是你,浪沙。至少第一個單你是識別不了。害我沒少測試。)就這兩個功能對于我的這次操作已經(jīng)是夠用了。
當(dāng)然Pyautogui的作用肯定不止這些,pyautogui.typewrite還能輸入鍵盤有的字母的數(shù)字符號,screenshot截屏(這個在實現(xiàn)連連看的時候也能用得上哦。)等等,有興趣的可以度娘學(xué)習(xí)一下。我們知道怎么模擬控制鼠標(biāo)了,總得告訴它,要走到哪里,點擊哪里吧。
Pyautogui是用像素來告訴程序要操作的位置的。那我們怎么得到這個像素呢?這里,我用的是操作系統(tǒng)自帶的畫圖程序。畫圖里面“選擇”這個功能會顯示我們所選擇的區(qū)域的像素,我們只要從我們需要點擊的位置一直選到最左上角就可以了。
好了,到這里萬事俱備,上個代碼吧。
import pyautogui for i in range(2, 11): 用0.5 秒的時間把光標(biāo)移動到(400, 175 + i * 20) 位置 pyautogui.moveTo(400, 175 + i * 20, duration = 0.5) pyautogui.click(clicks = 2, button = 'left', interval = 0.05)# 點擊進入單據(jù) time.sleep(3) pyautogui.click(100, 140)# 點擊修改 time.sleep(3) pyautogui.click(350, 190, button = 'left')# 左擊發(fā)貨日 pyautogui.click(350, 190, button = 'right')# 右擊發(fā)貨日 time.sleep(1.5) pyautogui.click(595, 397)# 選擇日期5 time.sleep(1.5) pyautogui.click(815, 472)# 完成 time.sleep(1.5) pyautogui.click(565, 425)# 發(fā)出日大于接收日, 是 time.sleep(1.5) pyautogui.click(155, 140)# 點擊保存 time.sleep(2) pyautogui.click(432, 140)# 點擊查詢 time.sleep(5)
我這里一個for 循環(huán)是讓他從第一張單開始操作,操作到這一頁的最后一張單。Time.sleep嘛,這個系統(tǒng)運行是需要時間的,我們讓鼠標(biāo)休息一下。
最后還有一個要可能需要提醒大家的地方就是,如果程序走到一半,發(fā)現(xiàn)沒必要再執(zhí)行下去了,或者有錯誤了(比如系統(tǒng)卡死了設(shè)置的休息時間不夠),希望停止程序,這時候CTRL+C是不行的。
你需要把你的鼠標(biāo)放到屏幕的最左上角。一般幾秒后點擊就會停止下來,(python shell會報錯,這個不用管的)至于效果嘛,這里就不錄動圖了,畢竟是會泄漏個人和公司信息??隙ㄊ怯H測有效,以我半個小時的休息時間做擔(dān)保。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用TensorFlow搭建一個全連接神經(jīng)網(wǎng)絡(luò)教程
今天小編就為大家分享一篇使用TensorFlow搭建一個全連接神經(jīng)網(wǎng)絡(luò)教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Tensorflow獲取張量Tensor的具體維數(shù)實例
今天小編就為大家分享一篇Tensorflow獲取張量Tensor的具體維數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01用python實現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了用python實現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-07-07python將字符串轉(zhuǎn)換成json的方法小結(jié)
這篇文章主要介紹了python將字符串轉(zhuǎn)換成json的方法小結(jié),通過實例代碼給大家介紹將字符串型的數(shù)據(jù)轉(zhuǎn)換成dict類型遇到的問題,需要的朋友可以參考下2019-07-07