日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python 利用PyAutoGUI快速構建自動化操作腳本

瀏覽:124日期:2022-06-18 08:41:07
目錄一、背景二、自動化的方案三、思路和知識點四、操作步驟4.1 初識 PyAutoGUI4.2 坐標系4.3 點擊4.4 輸入4.5 漢字輸入4.6 集成起來五、數據源六、總結一、背景

大家好,我是安果!

我們經常遇到需要進行大量重復操作的時候,比如:網頁上填表,對 web 版本 OA 進行操作,自動化測試或者給新系統首次添加數據等

這些操作的特點往往是:數據同構,大多是已經有了的結構化數據;操作比較呆板,都是同一個流程的點擊、輸入;數據量大,極大消耗操作人精力

那么能不能自動化呢?

二、自動化的方案

如果你在 web 上進行操作, Python 的 Selenium 可以滿足要求。如果需要對 GUI 界面進行操作,你恐怕得試驗下“按鍵精靈”能不能滿足要求。對新系統添加初始數據,SQL 導出導入是最高效的方式,不過可能需要進行一些較復雜的處理。

曾經多次遇到要求一條條手動輸入舊數據的系統升級活動。

但以上都存在一些問題, Selenium 比較復雜,按鍵精靈功能上不太完善, SQL 需要一定的知識基礎

這里推薦一個更好的解決方案:PyAutoGUI

其實 PyAutoGUI 最主要好處就是比較簡單,應急使用的話可以很快構建一個可用的自動化操作腳本。畢竟,數據處理任務本來就比較急迫,沒有時間使用復雜知識,來構建一個完善的腳本

三、思路和知識點

現在來說一下基本思路與相關知識點

PyAutoGUI 就是模擬鍵盤、鼠標在界面上進行操作。 這里只使用它的 click 功能來模擬鼠標點擊。 為了獲取需要點擊的位置,設計了一個鼠標坐標獲取的程序。 ASCII 碼的輸入比較簡單。再解決漢字輸入問題,就使得系統基本可用了。

本文以在 web 界面批量新增數據記錄為例,講解如何自動化操作。這個例子只是演示之用,非常簡單,大家自行理解、遷移。

python 利用PyAutoGUI快速構建自動化操作腳本

四、操作步驟4.1 初識 PyAutoGUI

簡單地說, PyAutoGUI 就是模擬鍵盤、鼠標在界面上進行操作的包。安裝時直接使用如下語句:pip install pyautogui即可。

編寫一個簡單的測試程序:

import pyautogui as pagpag.PAUSE = 1.5pag.click(63,191)

以上程序導入庫,定義了每步驟的暫停時間 1.5 秒(用來留給操作時間),然后在屏幕左起 63 像素,上起 191 像素這個點上點擊了鼠標。

4.2 坐標系

PyAutoGUI 默認的坐標系從屏幕左上角開始,x 軸向右增大,y 軸向下增大。所以顯示器上每個點都有自己的位置。

引申一下,當知道界面上每個按鈕的位置時,點擊這些點,就是執行相應的操作了。

當然,這一切的前提是界面不變。大多數應用的界面、按鈕位置不會變來變去。如果你有這方面需求,可以參考下 locateOnScreen() 函數。這個函數根據你提供的圖片,在屏幕上找到像素匹配的地方。這樣就不怕按鈕動來動去了。

為了獲取屏幕的坐標系,寫了一個簡單的程序,用來獲取鼠標在屏幕上的坐標。大家可以自行下載運行。

import pyautogui as pag import os try: while True:os.system(’cls’)a = ’%4d,%4d’%pag.position()print(a)except Exception as e: print(e)

運行以上程序,移動鼠標到各個按鈕上,就可以看到相應的坐標。

python 利用PyAutoGUI快速構建自動化操作腳本

4.3 點擊

PyAutoGUI 的點擊很簡單:

pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button=’left’, duration=0.0)

其中x,y是坐標,clicks 是點擊次數,interval 是點擊間隔,button 指代三個鼠標按鈕的哪一個,duiation 是點擊之間的間隔。

寫如下程序,來進行任務、時間和新建按鈕之間的跳轉。

pag.click(63,191)pag.click(328,191)pag.click(384,461)pag.click(374,191)4.4 輸入

輸入 ASCII 字符和鍵盤擊鍵、熱鍵分別如下:

輸入 ASCII 字符串是typewrite(message=’test message.’,interval=0.5) 退出鍵是press(’esc’) 按下是KeyDown(’ctrl’) 松開是KeyUp(’ctrl’) 組合鍵是hotkey(’ctrl’,’v’)。

至于漢字,稍微復雜點。

4.5 漢字輸入

涉及漢字,無法用 ASCII 方案解決,需要導入包 pyperclip ,這個包封裝了系統剪貼板,大家知道怎么回事了吧。

import pyperclip #以下讀入內容,就是把內容存入剪貼板。pyperclip.copy(’需要輸入的漢字’)#以下輸出內容,就是粘貼。pag.hotkey(’ctrl’,’v’)

其實就是用 pyperclip 模擬拷貝,用熱鍵 Ctrl+v 粘貼,實現了非 ASCII 字符的輸入。

4.6 集成起來

下面,把整個程序集成起來看:

import pyautogui as pagimport pyperclippag.PAUSE = 1.5pag.FAILSAFE = Trueto = [’測試任務1’,’測試任務2’,’測試任務3’,’測試任務4’,’測試任務5’, ’測試任務6’,’測試任務7’,’測試任務8’,’測試任務9’,’測試任務10’]for t in to: pag.click(63,191) pyperclip.copy(t) pag.hotkey(’ctrl’,’v’) pag.click(328,191) pag.click(384,461) pag.click(374,191)

以上程序,根據 to 列表內容,把操作分解為點擊和粘貼,實現了自動化操作的目的。大部分編碼都很好理解,能跟鼠標操作一一對應起來。可能存在難度的是數據源的問題,總不能把所有數據都寫入程序吧?

五、數據源

相較于復雜的現實數據源,最好的方式就是把數據轉成 csv 文件。這樣許多 Excel 都可以另存成這個文件,其本身又是基于文本的,可讀可寫,比較方便。其他諸如 SQL 數據庫、 XML 數據也可以導出轉換為 csv 文件。

假設現在有了 csv 格式數據源 data.csv ,需要這樣操作。

to = []with open(’data.csv’)as f: lines = f.readlines()for line in lines: to.append(tuple(line.split(’,’)))

以上代碼比較簡單,把 csv 中存成的數據存儲到 to 這個數組里,每行數據都是一個元組,調用的時候,如4.6部分代碼所示,使用 for 循環加上元組下標即可。

六、總結

本文使用 PyAutoGUI 包,對各種鼠標點擊、輸入之類的機械重復操作進行自動執行,可大幅提高工作效率。這里只使用了 click 功能和 pyperclip 包的 copy 功能。主要是為了簡化編程,讓大家在緊張和繁瑣的操作中,快速編寫一個自動化執行的小腳本。

以上就是python 利用PyAutoGUI快速構建自動化操作腳本的詳細內容,更多關于python 用PyAutoGUI構建自動化操作腳本的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩精品免费观看视欧美高清免费大片 | 国产探花在线精品| 日韩激情中文字幕| 91嫩草精品| 免费一级欧美在线观看视频 | 国产粉嫩在线观看| 日韩中文在线电影| 欧美1区2区3区| 国产模特精品视频久久久久| 欧美日韩国产在线观看网站| 蜜桃久久av| 国产乱码精品一区二区三区亚洲人| 国产精品日韩精品在线播放| 黄在线观看免费网站ktv| 亚洲激情中文| 欧美日韩一区二区三区不卡视频| 国产一区精品福利| 午夜免费一区| 欧美一区自拍| 欧美成人基地 | 鲁鲁在线中文| 欧美精品自拍| 欧美一级久久| 免费在线小视频| 亚洲欧美日本日韩| 国产精品啊v在线| 欧美日韩尤物久久| 欧美影院视频| 在线视频观看日韩| 青青伊人久久| 久久久久久久久丰满| 婷婷亚洲精品| 日韩电影免费网址| 中文字幕视频精品一区二区三区| 日韩.com| 日韩午夜视频在线| 日韩成人综合| 国产日韩中文在线中文字幕| 婷婷综合五月| 国产一区二区三区四区五区传媒| 久色成人在线| 久久国产欧美| 久久香蕉网站| 人人精品久久| 99国产精品私拍| 高清不卡一区| 青青草精品视频| 国产偷自视频区视频一区二区| 美女视频黄免费的久久| 亚洲视频国产精品| 色婷婷精品视频| 欧美精品三级在线| 99视频精品免费观看| 成人在线免费观看91| 日韩av电影一区| 夜夜嗨一区二区三区| 日韩免费高清| 欧美激情aⅴ一区二区三区| 国产精品老牛| 蜜桃视频在线网站| 麻豆精品蜜桃视频网站| 日韩高清在线不卡| 日韩中文字幕区一区有砖一区 | 亚洲人亚洲人色久| 久久精品国产大片免费观看| 国产精品久久久久久妇女| 美美哒免费高清在线观看视频一区二区| 91看片一区| 国产成人精选| 国产精品高清一区二区| 亚洲精品女人| 久久午夜精品| 久久av在线| 99国产精品私拍| 欧美91精品| 色老板在线视频一区二区| 国产成人精品一区二区三区视频| 国产精品一国产精品| 日本成人在线视频网站| 亚洲精品进入| 亚洲欧美久久精品| 亚洲免费专区| 日韩精品久久久久久| 综合激情一区| 日韩精品视频网站| 日韩视频1区| 日韩国产欧美三级| 欧美亚洲一级| 国产欧美日韩精品高清二区综合区 | 麻豆久久久久久| 国产激情精品一区二区三区| 欧美片第1页综合| 日韩高清在线不卡| 欧美日本久久| 麻豆一区二区三| 你懂的亚洲视频| 精品国产亚洲一区二区三区在线| 欧美激情福利| 88xx成人免费观看视频库| 久久久国产精品一区二区中文| 99久精品视频在线观看视频| 国产一区二区三区自拍| 亚洲女同一区| 在线亚洲观看| 中文字幕中文字幕精品| 日韩av中文字幕一区二区| 欧美日韩一视频区二区| 麻豆成人在线观看| 日韩欧美中文| 伊人精品在线| 亚洲五月综合| 国产欧美日韩在线一区二区| 精品一区91| 日韩欧美精品一区| 黄色国产精品| 亚洲久久视频| 另类小说一区二区三区| 日韩av福利| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲日本欧美| 国模精品一区| 九色精品91| 日韩在线成人| 成人午夜亚洲| 91精品二区| 日本综合视频| 国产a亚洲精品| 好看的亚洲午夜视频在线| 日韩中文字幕视频网| 韩国一区二区三区视频| 国产精品7m凸凹视频分类| 日韩欧美久久| 日韩三区免费| 日本中文字幕不卡| 国产一区二区三区成人欧美日韩在线观看 | 久久国产直播| 亚洲精品亚洲人成在线观看| 精品视频免费| 国产一区导航| 免费观看亚洲天堂| 亚洲精品电影| 国产精品www994| 欧美jjzz| 国产福利资源一区| 黄色国产精品| 精品资源在线| 日韩精品一级中文字幕精品视频免费观看| 国产精品日韩精品在线播放| 国内激情久久| 麻豆精品在线观看| 久久香蕉精品| 91欧美日韩| 日韩和欧美的一区| 国产一在线精品一区在线观看| 一区二区国产在线| 欧美成a人免费观看久久| 久久国内精品视频| 亚洲激情偷拍| 日韩大片在线观看| 国产日产一区| 亚洲一区免费| аⅴ资源天堂资源库在线| 亚洲精品三级| 欧美 日韩 国产精品免费观看| 久久精品国产精品亚洲毛片| 免费视频久久| 激情六月综合| 日产精品一区二区| 国产欧美日韩精品一区二区免费 | 日韩欧美综合| 国产日韩一区二区三区在线播放| 一区视频在线| 日韩高清中文字幕一区二区| 青青青国产精品| 欧美综合国产| 欧美日韩国产高清| 性欧美videohd高精| 国产精品高潮呻吟久久久久| 中文字幕亚洲精品乱码| 亚洲婷婷免费| 亚洲黄色免费av| 精品午夜视频| 国产精品18| 久久激情五月婷婷| 日韩高清在线不卡| 日韩一区二区三区精品| 99热精品在线| 亚洲精品国产偷自在线观看| 久久免费高清| 日韩国产欧美| 首页国产精品| 国产不卡av一区二区| 欧美国产另类| 欧美精品成人| 老司机免费视频一区二区三区| 国产日韩视频在线| 国产精品宾馆| 国产精品一区二区三区美女 | 美女日韩在线中文字幕| 日韩视频在线一区二区三区|