欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > python 利用PyAutoGUI快速構(gòu)建自動(dòng)化操作腳本

python 利用PyAutoGUI快速構(gòu)建自動(dòng)化操作腳本

熱門標(biāo)簽:開封自動(dòng)外呼系統(tǒng)怎么收費(fèi) 電銷機(jī)器人的風(fēng)險(xiǎn) 應(yīng)電話機(jī)器人打電話違法嗎 手機(jī)網(wǎng)頁嵌入地圖標(biāo)注位置 開封語音外呼系統(tǒng)代理商 地圖標(biāo)注線上如何操作 河北防封卡電銷卡 天津電話機(jī)器人公司 400電話辦理哪種

一、背景

大家好,我是安果!

我們經(jīng)常遇到需要進(jìn)行大量重復(fù)操作的時(shí)候,比如:網(wǎng)頁上填表,對 web 版本 OA 進(jìn)行操作,自動(dòng)化測試或者給新系統(tǒng)首次添加數(shù)據(jù)等

這些操作的特點(diǎn)往往是:數(shù)據(jù)同構(gòu),大多是已經(jīng)有了的結(jié)構(gòu)化數(shù)據(jù);操作比較呆板,都是同一個(gè)流程的點(diǎn)擊、輸入;數(shù)據(jù)量大,極大消耗操作人精力

那么能不能自動(dòng)化呢?

二、自動(dòng)化的方案

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

曾經(jīng)多次遇到要求一條條手動(dòng)輸入舊數(shù)據(jù)的系統(tǒng)升級活動(dòng)。

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

這里推薦一個(gè)更好的解決方案:PyAutoGUI 

其實(shí) PyAutoGUI 最主要好處就是比較簡單,應(yīng)急使用的話可以很快構(gòu)建一個(gè)可用的自動(dòng)化操作腳本。畢竟,數(shù)據(jù)處理任務(wù)本來就比較急迫,沒有時(shí)間使用復(fù)雜知識,來構(gòu)建一個(gè)完善的腳本

三、思路和知識點(diǎn)

現(xiàn)在來說一下基本思路與相關(guān)知識點(diǎn)

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

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

四、操作步驟

4.1 初識 PyAutoGUI

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

編寫一個(gè)簡單的測試程序:

import pyautogui as pag

pag.PAUSE = 1.5
pag.click(63,191) 

以上程序?qū)霂欤x了每步驟的暫停時(shí)間 1.5 秒(用來留給操作時(shí)間),然后在屏幕左起 63 像素,上起 191 像素這個(gè)點(diǎn)上點(diǎn)擊了鼠標(biāo)。

4.2 坐標(biāo)系

PyAutoGUI 默認(rèn)的坐標(biāo)系從屏幕左上角開始,x 軸向右增大,y 軸向下增大。所以顯示器上每個(gè)點(diǎn)都有自己的位置。

引申一下,當(dāng)知道界面上每個(gè)按鈕的位置時(shí),點(diǎn)擊這些點(diǎn),就是執(zhí)行相應(yīng)的操作了。

當(dāng)然,這一切的前提是界面不變。大多數(shù)應(yīng)用的界面、按鈕位置不會(huì)變來變?nèi)ァH绻阌羞@方面需求,可以參考下 locateOnScreen() 函數(shù)。這個(gè)函數(shù)根據(jù)你提供的圖片,在屏幕上找到像素匹配的地方。這樣就不怕按鈕動(dòng)來動(dòng)去了。

為了獲取屏幕的坐標(biāo)系,寫了一個(gè)簡單的程序,用來獲取鼠標(biāo)在屏幕上的坐標(biāo)。大家可以自行下載運(yùn)行。

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) 

運(yùn)行以上程序,移動(dòng)鼠標(biāo)到各個(gè)按鈕上,就可以看到相應(yīng)的坐標(biāo)。

4.3 點(diǎn)擊

PyAutoGUI 的點(diǎn)擊很簡單:

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

其中x,y是坐標(biāo),clicks 是點(diǎn)擊次數(shù),interval 是點(diǎn)擊間隔,button 指代三個(gè)鼠標(biāo)按鈕的哪一個(gè),duiation 是點(diǎn)擊之間的間隔。

寫如下程序,來進(jìn)行任務(wù)、時(shí)間和新建按鈕之間的跳轉(zhuǎn)。

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')。

至于漢字,稍微復(fù)雜點(diǎn)。

4.5 漢字輸入

涉及漢字,無法用 ASCII 方案解決,需要導(dǎo)入包 pyperclip ,這個(gè)包封裝了系統(tǒng)剪貼板,大家知道怎么回事了吧。

import pyperclip 

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

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

4.6 集成起來

下面,把整個(gè)程序集成起來看:

import pyautogui as pag
import pyperclip

pag.PAUSE = 1.5
pag.FAILSAFE = True

to = ['測試任務(wù)1','測試任務(wù)2','測試任務(wù)3','測試任務(wù)4','測試任務(wù)5',\

      '測試任務(wù)6','測試任務(wù)7','測試任務(wù)8','測試任務(wù)9','測試任務(wù)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)

以上程序,根據(jù) to 列表內(nèi)容,把操作分解為點(diǎn)擊和粘貼,實(shí)現(xiàn)了自動(dòng)化操作的目的。大部分編碼都很好理解,能跟鼠標(biāo)操作一一對應(yīng)起來。可能存在難度的是數(shù)據(jù)源的問題,總不能把所有數(shù)據(jù)都寫入程序吧?

五、數(shù)據(jù)源

相較于復(fù)雜的現(xiàn)實(shí)數(shù)據(jù)源,最好的方式就是把數(shù)據(jù)轉(zhuǎn)成 csv 文件。這樣許多 Excel 都可以另存成這個(gè)文件,其本身又是基于文本的,可讀可寫,比較方便。其他諸如 SQL 數(shù)據(jù)庫、 XML 數(shù)據(jù)也可以導(dǎo)出轉(zhuǎn)換為 csv 文件。

假設(shè)現(xiàn)在有了 csv 格式數(shù)據(jù)源 data.csv ,需要這樣操作。

to = []

with open('data.csv')as f:
    lines = f.readlines()

for line in lines:
    to.append(tuple(line.split(',')))

以上代碼比較簡單,把 csv 中存成的數(shù)據(jù)存儲到 to 這個(gè)數(shù)組里,每行數(shù)據(jù)都是一個(gè)元組,調(diào)用的時(shí)候,如4.6部分代碼所示,使用 for 循環(huán)加上元組下標(biāo)即可。

六、總結(jié)

本文使用 PyAutoGUI 包,對各種鼠標(biāo)點(diǎn)擊、輸入之類的機(jī)械重復(fù)操作進(jìn)行自動(dòng)執(zhí)行,可大幅提高工作效率。這里只使用了 click 功能和 pyperclip 包的 copy 功能。主要是為了簡化編程,讓大家在緊張和繁瑣的操作中,快速編寫一個(gè)自動(dòng)化執(zhí)行的小腳本。

以上就是python 利用PyAutoGUI快速構(gòu)建自動(dòng)化操作腳本的詳細(xì)內(nèi)容,更多關(guān)于python 用PyAutoGUI構(gòu)建自動(dòng)化操作腳本的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python腳本實(shí)現(xiàn)自動(dòng)登錄校園網(wǎng)
  • python自動(dòng)化運(yùn)維之Telnetlib的具體使用
  • 還在手動(dòng)蓋樓抽獎(jiǎng)?教你用Python實(shí)現(xiàn)自動(dòng)評論蓋樓抽獎(jiǎng)(一)
  • Python 如何實(shí)現(xiàn)文件自動(dòng)去重
  • Python爬蟲之自動(dòng)爬取某車之家各車銷售數(shù)據(jù)
  • python趣味挑戰(zhàn)之爬取天氣與微博熱搜并自動(dòng)發(fā)給微信好友
  • Python實(shí)現(xiàn)智慧校園自動(dòng)評教全新版

標(biāo)簽:山東 蘭州 駐馬店 江蘇 成都 六盤水 宿遷 常州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python 利用PyAutoGUI快速構(gòu)建自動(dòng)化操作腳本》,本文關(guān)鍵詞  python,利用,PyAutoGUI,快速,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python 利用PyAutoGUI快速構(gòu)建自動(dòng)化操作腳本》相關(guān)的同類信息!
  • 本頁收集關(guān)于python 利用PyAutoGUI快速構(gòu)建自動(dòng)化操作腳本的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产99精品国产| 久久狠狠亚洲综合| 国产不卡视频在线播放| 中文字幕在线观看网址| 欧美精品自拍偷拍动漫精品| 亚洲男女毛片无遮挡| 国产精品18久久久久久久久 | 成人高清免费观看| 免费观看特级毛片| 国产午夜精品美女毛片视频| 国产精品资源在线| 午夜成人亚洲理伦片在线观看| 国产欧美中文在线| 国产宾馆实践打屁股91| 国产av无码专区亚洲av毛网站| 亚洲欧美自拍偷拍| 91在线你懂得| 日本高清视频一区二区| 中文字幕亚洲在| 成人高清视频在线| 欧美在线免费视屏| 亚洲国产精品影院| 91视频啊啊啊| 久久中文娱乐网| 国产精品123| 一区二区三区影视| 亚洲色图制服诱惑| 99国内精品久久| 国产又粗又猛又爽又黄| 国产精品免费在线视频| 国产精品欧美久久久久无广告 | 国产美女视频免费观看下载软件| 91精品国产综合久久久久| 亚洲国产一二三| 精品人妻一区二区三区视频| 精品久久久三级丝袜| 亚洲一区二区三区四区在线观看| 美女黄色一级视频| 日韩欧美亚洲国产另类| 国产精品主播直播| 色成人在线视频| 午夜在线电影亚洲一区| 亚洲自拍偷拍图| 国产精品狼人久久影院观看方式| 欧美性猛交xx| 欧美成人一区二区三区在线观看| 国产99精品视频| 欧美精品乱码久久久久久 | 久久国产柳州莫菁门| 国产精品乱人伦一区二区| 91老师片黄在线观看| 日韩精品中文字幕一区二区三区| 国产一区视频导航| 欧美视频一区二区三区在线观看 | 亚洲成av人片一区二区梦乃 | 久久久久久久久久久久电影| 国产高清不卡一区| 欧美亚洲高清一区| 免费成人在线视频观看| 免费成人深夜夜行网站| 亚洲成人免费av| 波兰性xxxxx极品hd| 亚洲国产毛片aaaaa无费看| 精品亚洲aⅴ无码一区二区三区| 亚洲免费av高清| 在线观看国产精品一区| 亚洲欧美日韩国产中文在线| 新91视频在线观看| 一区二区成人在线| 亚洲不卡的av| 日韩精品一二区| 色先锋aa成人| 久久国产综合精品| 欧美日韩免费高清一区色橹橹| 韩国成人福利片在线播放| 欧美日韩亚洲丝袜制服| 国产精一品亚洲二区在线视频| 欧美福利视频导航| 国产一区二区按摩在线观看| 欧美疯狂性受xxxxx喷水图片| 国产福利电影一区二区三区| 日韩欧美区一区二| 韩国三级hd中文字幕有哪些| 中文字幕电影一区| 久久久久久久久久久国产精品| 亚洲人成在线观看一区二区| 91狠狠综合久久久久久| 日本中文字幕一区二区视频 | 日韩一区二区三| av在线不卡网| 国产夜色精品一区二区av| 午夜影视日本亚洲欧洲精品| 99综合电影在线视频| 精品国产欧美一区二区| 91免费视频观看| 国产精品国产精品国产专区不片| 久久丫精品忘忧草西安产品| 偷拍与自拍一区| 在线观看精品一区| 国产91精品一区二区麻豆网站| 日韩免费观看2025年上映的电影 | 国产一区二区电影| 日韩久久久精品| 亚洲调教欧美在线| 亚洲一区二区三区视频在线| 在线免费观看亚洲视频| 国产精品77777| 久久久国产精华| 亚洲一区二区三区日韩| 日韩不卡一二三区| 在线播放一区二区三区| 国产黄色一区二区三区| 亚洲天堂免费看| 色综合久久精品| 丁香一区二区三区| 国产视频一区二区三区在线观看| 亚洲人成人无码网www国产 | 久久精品夜色噜噜亚洲a∨| 日本黄色网址大全| 免费成人小视频| 精品日韩成人av| av网站有哪些| 奇米精品一区二区三区在线观看| 欧美日本不卡视频| 这里只有精品在线观看视频| 亚洲成人一二三| 正在播放亚洲一区| 国产无套精品一区二区三区| 久久免费国产精品| 无码人妻精品一区二区三应用大全| 日韩国产欧美三级| 日韩精品一区二区三区视频播放| 无码人妻精品一区二区三区温州| 丝袜亚洲精品中文字幕一区| 91精品欧美综合在线观看最新| 呦呦视频在线观看| 蜜桃av一区二区在线观看| 欧美tk—视频vk| 永久免费成人代码| 国产真实乱偷精品视频免| 国产日韩欧美精品在线| 欧美手机在线观看| 99久久婷婷国产综合精品| 亚洲免费观看高清完整版在线观看熊| 色偷偷久久人人79超碰人人澡| gogogo免费视频观看亚洲一| 亚洲人123区| 欧美日韩国产综合久久| yy1111111| 精品一区二区三区日韩| 国产蜜臀97一区二区三区| 紧身裙女教师波多野结衣| 91香蕉视频在线| 日韩av不卡一区二区| 久久久午夜精品理论片中文字幕| 大地资源高清在线视频观看| 白白色 亚洲乱淫| 亚洲与欧洲av电影| 欧美成人a∨高清免费观看| 秋霞网一区二区三区| www.爱久久.com| 亚洲电影你懂得| 欧美精品一区二区久久久| 情侣偷拍对白清晰饥渴难耐| 91伊人久久大香线蕉| 午夜亚洲福利老司机| 久久综合久色欧美综合狠狠| 91高清免费看| 久久久久国产免费| 亚洲欧美另类小说| 男人天堂av电影| 国产精品小仙女| 亚洲影视资源网| 欧美精品一区二区三区在线| 在线观看亚洲网站| 一级黄色免费视频| 国产乱妇无码大片在线观看| 亚洲精品伦理在线| 精品女同一区二区| 美国黄色小视频| 免费在线观看成年人视频| 国产精品18久久久久久久久| 亚洲高清三级视频| 久久久亚洲国产美女国产盗摄| 日本精品一区二区三区四区的功能| 小毛片在线观看| 成人免费高清在线观看| 午夜精品在线看| 亚洲国产电影在线观看| 欧美精品久久一区二区三区| 久久久久久久久久97| 一区二区免费在线观看视频| 风流少妇一区二区| 日日摸夜夜添夜夜添亚洲女人| 国产精品蜜臀在线观看| 制服丝袜激情欧洲亚洲| 中日韩一级黄色片| 国产ts丝袜人妖系列视频| aaa欧美日韩| 国产一区福利在线|