溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行python中pyautogui的安裝和使用

發布時間:2021-12-27 19:24:49 來源:億速云 閱讀:401 作者:柒染 欄目:開發技術

本篇文章給大家分享的是有關如何進行python中pyautogui的安裝和使用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

    前言

    以下是我對python中編寫腳本最重要的庫之一pyautogui的學習整理,分享給大家希望有所幫助

    提示:我在初步使用pyautogui的過程中發現對于谷歌瀏覽器的click點擊失效,其他尚未發現

    pyautogui的安裝 

    可以使用cmd輸入pip install pyautogui進行庫的安裝

    鼠標

    對鼠標的控制是基于屏幕上的位置的,比如我的電腦的顯示分辨率是1920?1080,也就是從屏幕的左上角開始,水平方向向右代表x,一行中有1920個小像素塊,垂直方向向下代表y,一列中有1080個像素塊,就像一個大坐標系,只不過整個屏幕中只有第一象限

    使用size獲取屏幕的顯示分辨率

    示例如下:

    from pyautogui import size
    x,y=size()
    print(x,y)

    如何進行python中pyautogui的安裝和使用

     使用position獲取鼠標當前位置

    from pyautogui import position
    x,y=position()
    print(x,y)

    如何進行python中pyautogui的安裝和使用

    鼠標移動

    moveTo:把鼠標移動到屏幕的某個位置

    上面可知左上角的坐標是(0,0),右下角就是(1920,1080),示例如下

    from pyautogui import moveTo
    moveTo(1684,1059,duration=3)#1684和1059是要移動到的位置,duration表示執行該移動的時間,單位是秒

    moveRel(move):基于當前位置進行移動

    from pyautogui import moveTo,moveRel
     
    moveRel(100,200,duration=2)
    #從當前鼠標所在的位置移動到向右100,向下200的位置,過程時間設定為2秒

    鼠標點擊

    click:單擊鼠標

    from pyautogui import click
    #click中指定了坐標,也是可以設置從執行到點擊這個位置的duration時間,以及左邊,中間還是右鍵
    click(100,200,button='left',duration=2)
    click(100,200,button='middle')
    click(100,200,button='right')

     doubleClick:雙擊鼠標

    from pyautogui import doubleClick
    #參數與單擊相同,只不過現在是雙擊鼠標
    doubleClick(100,200,button='left',duration=2)
    doubleClick(100,200,button='middle')
    doubleClick(100,200,button='right')

    mouseDown和mouseUp:鼠標的按下與釋放 

    from pyautogui import mouseDown,mouseUp
    mouseDown()   # 鼠標按下
    mouseUp()    # 鼠標釋放

    鼠標拖動

     dragTo:拖動鼠標到某位置

    dragRel:根據當前位置對數表進行拖動

    鼠標拖動與鼠標移動類似,但相比較,做了一個移動窗口的區別測試

    from pyautogui import moveTo,mouseDown,mouseUp
     
    mouseDown(button='left')
    moveTo(1000,500)
    mouseUp(button='left')
    from pyautogui import dragTo,mouseDown,mouseUp
     
    mouseDown(button='left')
    dragTo(1000,500)
    mouseUp(button='left')

    在測試的時候發現,moveTo和鼠標按下相結合可以實現對某窗口的拖動,但是dragTo不可以

    鼠標滾動

    from pyautogui import scroll
     
    scroll(300)#傳入一個整數,正數表示向上滑動滾輪
    scroll(-300)#向下滑動滾輪

    屏幕處理

    screenshot:截取全屏

    截圖將保存在腳本保存的同一目錄下

    from pyautogui import screenshot
    screenshot().save('屏幕截圖.png')#jpg格式也支持,其他格式請嘗試

    crop截取任意大小的截圖 ,比如crop((

    locateOnScreen:查找截圖位置

     這里查找截圖位置是在屏幕上查找,找到和保存的截圖符合的位置

    from pyautogui import locateOnScreen
    print(locateOnScreen('屏幕截圖.png'))

    鍵盤輸入

    keyDown和keyUp:鍵盤按下和鍵盤釋放

    通過鍵盤的按下與釋放可以實現多鍵同時按下,比如ctrl+v的粘貼等,為了實現多鍵同時,我們還有hotkey('ctrl','c'),可以接受多個參數,按照傳入順序按下,再按照相反的順序釋放

    from pyautogui import keyDown,keyUp
    keyDown('space')   # 按下空格鍵
    keyUp('space')    # 釋放空格鍵
     
    keyDown('ctrl')   
    keyDown('c')
    keyUp('c') 
    keyUp('ctrl') 
     
    hotkey('ctrl','c')

    press:按鍵后立即釋放

    可以看作按下和釋放的一個組合,比如我們要發送消息,按enter鍵,按完之后就會釋放,因此press應用起來較多

    字母的大小寫不影響按鍵,比如Enter,我們可與編寫為press('enter'),press('ENter')

    有的鍵位有兩個,比如Shift,在后面加上left或者right,press('shiftleft')

    需要強調的是enter按鍵公認為換行,可以用\n代替,即press('enter')=press('\n'),tab鍵可用\t代替

    上下左右鍵分別為up,down,left,right

    typewrite():連續打字

    這里的typewrite可以識別大小寫

    from pyautogui import typewrite
    typewrite('ceshi',0.5)
    #第一個參數是要輸入的內容,第二個參數是每次按鍵的間隔時間
    typewrite(['c','e','s','h','i'])
    #也可以傳入一個單個字符串的列表
    typewrite(['S','u','n'])#typewrite('Sun',0.5)
    #將會輸入大寫的S

    提示信息

    提示框

    from pyautogui import alert
    print(alert(text='一個測試',title='test'))
    #點擊確定后將返回OK

    如何進行python中pyautogui的安裝和使用

     選擇框

    from pyautogui import confirm
    print(confirm('請選擇性別',buttons=['男','女']))
    #將輸出你的點擊項

    如何進行python中pyautogui的安裝和使用

    輸入密碼

    from pyautogui import password
    print(password('請輸入你的密碼'))
    #將輸出剛才輸入的密碼

    如何進行python中pyautogui的安裝和使用

    輸入普通內容

    from pyautogui import prompt
    print(prompt('請輸入你的賬號'))
    #將返回剛才輸入的內容

    如何進行python中pyautogui的安裝和使用

    以上就是如何進行python中pyautogui的安裝和使用,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女