亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PyAutoGUI圖形用戶界面自動(dòng)化的超詳細(xì)教程

 更新時(shí)間:2022年04月14日 15:44:26   作者:Dream丶Killer  
PyautoGUI是一個(gè)純Python的自動(dòng)化工具,能實(shí)現(xiàn)用程序自動(dòng)控制鼠標(biāo)和鍵盤操作,下面這篇文章主要給大家介紹了關(guān)于PyAutoGUI圖形用戶界面自動(dòng)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

開始之前

在開始之前,要先安裝所需要的模塊 pyautogui, pyautogui 模塊可以向 Windows 發(fā)送虛擬按鍵和鼠標(biāo)點(diǎn)擊。

pip install -i https://pypi.douban.com/simple pyautogui

查看屏幕大小

pyautogui.size() 可以獲得屏幕的寬和高的像素?cái)?shù)(整數(shù))。

>>> pyautogui.size()
Size(width=1920, height=1080)
# 也可以直接將寬,高進(jìn)行保存 x, y = pyautogui.size()

獲取當(dāng)前鼠標(biāo)的位置

函數(shù)返回當(dāng)前位置 X,Y 坐標(biāo)的元組,如果設(shè)置 x,y 的參數(shù),則會(huì)覆蓋返回結(jié)果。

>>> pyautogui.position(x=None, y=None)
Point(x=1437, y=817)

檢查指定坐標(biāo)是否在屏幕上

要檢查 X,Y 坐標(biāo)是否在屏幕上,將它們(支持兩個(gè)整數(shù),列表,元組)傳遞給 onScreen() 函數(shù),如果它們?cè)谄聊坏倪吔鐑?nèi),則返回 True ,否則返回 False 。

>>> pyautogui.size()
(1920, 1080)
>>> pyautogui.onScreen(1920, 1080)
False
>>> pyautogui.onScreen(1919, 1079)
True

設(shè)置暫停時(shí)間

使用 pyautogui.PAUSE 變量設(shè)置要暫 停的秒數(shù)。如,在設(shè)置 pyautogui.PAUSE = 1 之后,每個(gè) PyAutoGUI 函數(shù)調(diào)用 在執(zhí)行動(dòng)作之后,都會(huì)等待一秒。

>>> pyautogui.PAUSE = 1

鼠標(biāo)功能

移動(dòng)鼠標(biāo)

移動(dòng)鼠標(biāo)到指定位置。

pyautogui.moveTo(x=None, y=None, duration=0.0) # 移動(dòng)鼠標(biāo)到指定位置
pyautogui.move(xOffset=None, yOffset=None, duration=0.0) # 在PyAutoGUI 1.0,move 替換了 moveRel,但moveRel也可以使用

pyautogui.moveTo(200, 300, duration=0.5)   # 移動(dòng)到坐標(biāo)(200,300)
pyautogui.move(200, 300, duration=0.5)     # 從當(dāng)前鼠標(biāo)位置向右移動(dòng) 200 向下移動(dòng) 300

主要參數(shù)參數(shù):

x/xOffset:X軸坐標(biāo),moveTo() 中取值0或正整數(shù)值,move()/moveRel() 中取值可以為負(fù)數(shù),代表以當(dāng)前位置向左移動(dòng)

y/yOffset:Y軸坐標(biāo),moveTo() 中取值0或正整數(shù)值,move()/moveRel() 中取值可以為負(fù)數(shù),代表以當(dāng)前位置向上移動(dòng)

duration:移動(dòng)到指定坐標(biāo)花費(fèi)的時(shí)間,默認(rèn)為0,代表立即完成,單位為s

鼠標(biāo)點(diǎn)擊

使用 click() 完成鼠標(biāo)點(diǎn)擊操作。

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

主要參數(shù):

x:X軸坐標(biāo),默認(rèn)為 None,即當(dāng)前X軸坐標(biāo)

y:Y軸坐標(biāo),默認(rèn)為 None,即當(dāng)前Y軸坐標(biāo)(注:X,Y 軸的坐標(biāo)只能同時(shí)指定,不能只指定某一個(gè))

clicks:鼠標(biāo)的點(diǎn)擊次數(shù),默認(rèn)為 1 次

interval:int 或浮點(diǎn)數(shù),表示每次單擊之間需要等待多少秒,默認(rèn)值為0.0,表示單擊之間沒有暫停

button:可選 LEFT、MIDDLE、RIGHT、PRIMARY(左鍵)或 SECONDARY(右鍵)。它的默認(rèn)值是 PRIMARY

duration:如果指定了 X,Y 的值,并且該坐標(biāo)不是鼠標(biāo)當(dāng)前位置的話,那么 duration 參數(shù)就可以生效,它表示移動(dòng)到指定坐標(biāo)花費(fèi)的時(shí)間,默認(rèn)為 0,表示立即移動(dòng)。

?? 其他點(diǎn)擊操作:

pyautogui.mouseDown()    # 按下鼠標(biāo)按鍵(左鍵)
pyautogui.mouseUp()      # 釋放鼠標(biāo)按鍵(左鍵)

鼠標(biāo)拖動(dòng)

按住鼠標(biāo)的某個(gè)鍵進(jìn)行拖動(dòng)。

pyautogui.dragTo(x=None, y=None, duration=0.0, button=PRIMARY)     # 將鼠標(biāo)拖動(dòng)到指定位置  

pyautogui.drag(xOffset=0, yOffset=0, duration=0.0, button=PRIMARY)    # 將鼠標(biāo)拖動(dòng)到屏幕上相對(duì)于當(dāng)前位置的一個(gè)點(diǎn)。

主要參數(shù):

x,y/xOffset,yOffset:x 和 y 指明鼠標(biāo)事件發(fā)生的位置。如果為 None,則使用鼠標(biāo)當(dāng)前位置。如果是浮點(diǎn)值,則將其舍入。如果在屏幕邊界之外,則事件發(fā)生在屏幕邊緣。

duration:如果指定了 X,Y 的值,并且該坐標(biāo)不是鼠標(biāo)當(dāng)前位置的話,那么 duration 參數(shù)就可以生效,它表示移動(dòng)到指定坐標(biāo)花費(fèi)的時(shí)間,默認(rèn)為 0,表示立即移動(dòng)。

button:可選 LEFT、MIDDLE、RIGHT、PRIMARY(左鍵)或 SECONDARY(右鍵)。它的默認(rèn)值是 PRIMARY

??示例:

請(qǐng)?zhí)砑訄D片描述

鼠標(biāo)滾動(dòng)

垂直滾動(dòng),在不同平臺(tái)滾動(dòng)的效果可能不一樣。

>>> pyautogui.scroll(100)   # 向上滾動(dòng)100
>>> pyautogui.scroll(-100)  # 向下滾動(dòng)100
>>> pyautogui.scroll(100, x=200, y=200)  # 移動(dòng)到200, 然后執(zhí)行滾動(dòng)

水平滾動(dòng),(適用與 OS X 和 Linux 平臺(tái)上)。

>>> pyautogui.hscroll(100)   # 向右滾動(dòng)100
>>> pyautogui.hscroll(-100)   # 向左滾動(dòng)100

??示例:

請(qǐng)?zhí)砑訄D片描述

屏幕功能

截屏功能

使用 screenshot() 函數(shù)來實(shí)現(xiàn)截屏功能。調(diào)用 screenshot() 將返回一個(gè) Image 對(duì)象。傳入一個(gè)文件名字符串將把截圖保存到文件中,并將其作為一個(gè) Image 對(duì)象返回。通過 region 關(guān)鍵字參數(shù)來捕獲指定區(qū)域,只需傳遞一個(gè)由 left, top, width, height 組成的元組(left,top為左上角坐標(biāo))。

>>> import pyautogui
>>> pyautogui.screenshot()
>>> pyautogui.screenshot(r'C:\Users\pc\Desktop\test.png')
>>> pyautogui.screenshot(r'C:\Users\pc\Desktop\test.png', region=(300, 300, 500, 1000))

定位功能

如果不知道要點(diǎn)擊的內(nèi)容在屏幕上的確切坐標(biāo),就不能調(diào)用 moveTo()click() 函數(shù)。但是,如果有按鈕的圖像,如下面這個(gè)圖片,那就可以調(diào)用 locateOnScreen('圖片路徑') 函數(shù)來獲取坐標(biāo)。返回值是一個(gè)元組:(left, top, width, height)。這個(gè)元組可以傳遞給 center() 來獲得該區(qū)域中心的坐標(biāo)(X,Y)。如果在屏幕上找不到圖像,locateOnScreen() 將引發(fā) ImageNotFoundException 異常。

>>> location = pyautogui.locateOnScreen('圖片路徑')
>>> pyautogui.center(location)

還可以將 grayscale=True 傳遞給 locateOnScreen,以略微加速(大約 30%)。這降低了圖像和截圖的顏色飽和度,加快了定位速度,但可能會(huì)導(dǎo)致錯(cuò)誤匹配。

消息框功能

PyAutoGUI 利用 PyMsgBox 中的消息框函數(shù)提供了一種跨平臺(tái)的純 Python 方法來顯示 javascript 樣式的消息框。

alert()函數(shù)

>>> pyautogui.alert(text='text', title='title', button='alert!')
'alert!'

顯示一個(gè)帶有文本的簡(jiǎn)單消息框和一個(gè) alert! 按鈕。單擊按鈕后返回 button 的值。

??示例:

請(qǐng)?zhí)砑訄D片描述

confirm()函數(shù)

顯示帶有多個(gè)按鈕的消息框。按鈕的數(shù)量和文字可以自己設(shè)置。單擊按鈕返回該按鈕的文本。

>>> pyautogui.confirm(text='text', title='title', buttons=['再考慮一下', '卸載'])
'卸載'

??示例:

請(qǐng)?zhí)砑訄D片描述

prompt()函數(shù)

顯示一個(gè)包含 確認(rèn),取消 按鈕和文本輸入欄的消息框,用戶可以輸入指定內(nèi)容。當(dāng)點(diǎn)擊確認(rèn)按鈕后,返回輸入框中的值;若點(diǎn)擊取消,則返回 None 。

pyautogui.prompt(text='text', title='title', default='請(qǐng)輸入文本信息')

??示例:

請(qǐng)?zhí)砑訄D片描述

password()函數(shù)

顯示一個(gè)包含 確認(rèn),取消 按鈕和文本輸入欄的消息框,輸入的字符顯示為"*"。如果點(diǎn)擊確認(rèn)則返回輸入的文本;如果單擊“取消”,則為 None 。

pyautogui.password(text='text', title='title', default='密碼', mask='*')

??示例:

請(qǐng)?zhí)砑訄D片描述

鍵盤控制功能

write()函數(shù)

write() 函數(shù)將在傳入的字符串中鍵入字符。若要在按下每個(gè)字符鍵之間添加延遲間隔,interval 參數(shù)可以設(shè)置每個(gè)按鍵之間添加延遲。

>>> pyautogui.write('Hello world!', interval=0.25) # 每個(gè)字符間隔0.25秒

注意:pyautogui 并不支持輸入框自動(dòng)聚焦,所有輸入之前先要點(diǎn)擊輸入框位置。

press()函數(shù)

press() 函數(shù)執(zhí)行的操作相當(dāng)于鼠標(biāo)操作的 click(),它接收傳遞給它的字符串。

press('num0', presses=1, interval=0.0)
  • keys:傳入的鍵盤字符串
  • presses:操作按鍵次數(shù),默認(rèn)一次
  • interval:每次按鍵的間隔時(shí)間,默認(rèn)0

keys 所有取值如下:

['\t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+',
',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';'
, '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 'd',
'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't'
, 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', 'accept', 'add', 'alt',
'altleft', 'altright', 'apps', 'backspace', 'browserback', 'browserfavorites',
'browserforward', 'browserhome', 'browserrefresh', 'browsersearch','browserstop'
,'capslock', 'clear', 'convert', 'ctrl', 'ctrlleft','ctrlright', 'decimal',
'del', 'delete', 'divide', 'down', 'end', 'enter', 'esc', 'escape', 'execute',
'f1', 'f10', 'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2'
, 'f20', 'f21', 'f22', 'f23', 'f24', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9'
, 'final', 'fn', 'hanguel', 'hangul','hanja', 'help', 'home', 'insert', 'junja'
, 'kana', 'kanji', 'launchapp1', 'launchapp2', 'launchmail', 'launchmediaselect'
, 'left', 'modechange', 'multiply', 'nexttrack', 'nonconvert'
, 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6', 'num7'
, 'num8', 'num9', 'numlock', 'pagedown', 'pageup', 'pause', 'pgdn', 'pgup'
, 'playpause', 'prevtrack', 'print', 'printscreen', 'prntscrn', 'prtsc'
, 'prtscr', 'return', 'right', 'scrolllock', 'select', 'separator', 'shift'
, 'shiftleft', 'shiftright', 'sleep', 'space', 'stop', 'subtract', 'tab', 'up'
, 'volumedown', 'volumemute', 'volumeup', 'win', 'winleft', 'winright', 'yen'
, 'command', 'option', 'optionleft', 'optionright']

hotkey()函數(shù)

接收多個(gè)字符串參數(shù),順序按下,再按相反的順序釋放。

pyautogui.hotkey('ctrl', 'shift', 'esc')

相當(dāng)于
pyautogui.keyDown('ctrl')    # 按下 ctrl 
pyautogui.keyDown('shift')    # 按下 shift
pyautogui.keyDown('esc')    # 按下 esc
pyautogui.keyUp('esc')    # 釋放 ctrl 
pyautogui.keyUp('shift')    # 釋放 shift
pyautogui.keyUp('ctrl') # 釋放 esc

??示例:

請(qǐng)?zhí)砑訄D片描述

總結(jié)

到此這篇關(guān)于PyAutoGUI圖形用戶界面自動(dòng)化的文章就介紹到這了,更多相關(guān)PyAutoGUI圖形用戶界面自動(dòng)化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 階乘累加和的實(shí)例

    python 階乘累加和的實(shí)例

    今天小編就為大家分享一篇python 階乘累加和的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Flask框架URL管理操作示例【基于@app.route】

    Flask框架URL管理操作示例【基于@app.route】

    這篇文章主要介紹了Flask框架URL管理操作,結(jié)合實(shí)例形式分析了@app.route進(jìn)行URL控制的相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • 一篇文章帶你搞懂Python類的相關(guān)知識(shí)

    一篇文章帶你搞懂Python類的相關(guān)知識(shí)

    今天我們要說的是面向?qū)ο蟮暮诵?----類,類能幫我們把復(fù)雜的事情變得有條理,有順序,希望大家通過學(xué)習(xí)類能改善自己的編碼風(fēng)格,使代碼變得更為好看,更加通俗易懂,需要的朋友可以參考下
    2021-05-05
  • 詳解Python如何利用turtle繪制中國(guó)結(jié)

    詳解Python如何利用turtle繪制中國(guó)結(jié)

    春節(jié)是中國(guó)特有的傳統(tǒng)節(jié)日,中國(guó)結(jié)是中華民族特有的純粹的文化精髓,富含豐富的文化底蘊(yùn)。本文將利用turtle繪制一個(gè)中國(guó)結(jié),需要的可以參考一下
    2022-02-02
  • 基于Python解密仿射密碼

    基于Python解密仿射密碼

    這篇文章主要介紹了基于Python解密仿射密碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 總結(jié)python爬蟲抓站的實(shí)用技巧

    總結(jié)python爬蟲抓站的實(shí)用技巧

    很多人學(xué)用python,用得最多的還是各類爬蟲腳本:有寫過抓代理本機(jī)驗(yàn)證的腳本,有寫過自動(dòng)收郵件的腳本,還有寫過簡(jiǎn)單的驗(yàn)證碼識(shí)別的腳本,那么我們今天就來總結(jié)下python爬蟲抓站的一些實(shí)用技巧。
    2016-08-08
  • Python學(xué)習(xí)之函數(shù)的定義與使用詳解

    Python學(xué)習(xí)之函數(shù)的定義與使用詳解

    函數(shù)是具有某種特定功能的代碼塊,可以重復(fù)使用(在前面數(shù)據(jù)類型相關(guān)章節(jié)。它使得我們的程序更加模塊化,不需要編寫大量重復(fù)的代碼。本文將詳細(xì)介紹Python中函數(shù)的定義與使用,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • Python批量修改文本文件內(nèi)容的方法

    Python批量修改文本文件內(nèi)容的方法

    這篇文章主要介紹了Python批量修改文本文件內(nèi)容的方法的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • python函數(shù)和python匿名函數(shù)lambda詳解

    python函數(shù)和python匿名函數(shù)lambda詳解

    這篇文章主要介紹了python函數(shù)和python匿名函數(shù)lambda,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • Python3.x+迅雷x 自動(dòng)下載高分電影的實(shí)現(xiàn)方法

    Python3.x+迅雷x 自動(dòng)下載高分電影的實(shí)現(xiàn)方法

    這篇文章主要介紹了Python3.x+迅雷x 自動(dòng)下載高分電影的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01

最新評(píng)論