最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python編寫腳本之pyautogui的安裝和使用教程

 更新時(shí)間:2021年12月26日 11:45:48   作者:我就是一個(gè)小怪獸  
pyautogui一個(gè)神奇的圖像自動(dòng)化庫,學(xué)會(huì)之后無所不能,下面這篇文章主要給大家介紹了關(guān)于python編寫腳本之pyautogui的安裝和使用的相關(guān)資料,需要的朋友可以參考下

前言

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

提示:我在初步使用pyautogui的過程中發(fā)現(xiàn)對(duì)于谷歌瀏覽器的click點(diǎn)擊失效,其他尚未發(fā)現(xiàn)

pyautogui的安裝?

可以使用cmd輸入pip install pyautogui進(jìn)行庫的安裝

鼠標(biāo)

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

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

示例如下:

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

?使用position獲取鼠標(biāo)當(dāng)前位置

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

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

moveTo:把鼠標(biāo)移動(dòng)到屏幕的某個(gè)位置

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

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

moveRel(move):基于當(dāng)前位置進(jìn)行移動(dòng)

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

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

click:?jiǎn)螕羰髽?biāo)

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

?doubleClick:雙擊鼠標(biāo)

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

mouseDown和mouseUp:鼠標(biāo)的按下與釋放?

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

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

?dragTo:拖動(dòng)鼠標(biāo)到某位置

dragRel:根據(jù)當(dāng)前位置對(duì)數(shù)表進(jìn)行拖動(dòng)

鼠標(biāo)拖動(dòng)與鼠標(biāo)移動(dòng)類似,但相比較,做了一個(gè)移動(dòng)窗口的區(qū)別測(cè)試

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

在測(cè)試的時(shí)候發(fā)現(xiàn),moveTo和鼠標(biāo)按下相結(jié)合可以實(shí)現(xiàn)對(duì)某窗口的拖動(dòng),但是dragTo不可以

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

from pyautogui import scroll
 
scroll(300)#傳入一個(gè)整數(shù),正數(shù)表示向上滑動(dòng)滾輪
scroll(-300)#向下滑動(dòng)滾輪

屏幕處理

screenshot:截取全屏

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

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

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

locateOnScreen:查找截圖位置

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

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

鍵盤輸入

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

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

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

press:按鍵后立即釋放

可以看作按下和釋放的一個(gè)組合,比如我們要發(fā)送消息,按enter鍵,按完之后就會(huì)釋放,因此press應(yīng)用起來較多

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

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

需要強(qiáng)調(diào)的是enter按鍵公認(rèn)為換行,可以用\n代替,即press('enter')=press('\n'),tab鍵可用\t代替

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

typewrite():連續(xù)打字

這里的typewrite可以識(shí)別大小寫

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

提示信息

提示框

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

?選擇框

from pyautogui import confirm
print(confirm('請(qǐng)選擇性別',buttons=['男','女']))
#將輸出你的點(diǎn)擊項(xiàng)

輸入密碼

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

輸入普通內(nèi)容

from pyautogui import prompt
print(prompt('請(qǐng)輸入你的賬號(hào)'))
#將返回剛才輸入的內(nèi)容

總結(jié)

到此這篇關(guān)于python編寫腳本之pyautogui的安裝和使用的文章就介紹到這了,更多相關(guān)python之pyautogui安裝使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python框架django中結(jié)合vue進(jìn)行前后端分離

    python框架django中結(jié)合vue進(jìn)行前后端分離

    本篇將基于Python+Django結(jié)合Vue.js前端框架,為大家介紹如何基于這三者的技術(shù)棧來實(shí)現(xiàn)一個(gè)前端后離的Web開發(fā)項(xiàng)目。文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 使用TensorFlow創(chuàng)建生成式對(duì)抗網(wǎng)絡(luò)GAN案例

    使用TensorFlow創(chuàng)建生成式對(duì)抗網(wǎng)絡(luò)GAN案例

    這篇文章主要為大家介紹了使用TensorFlow創(chuàng)建生成式對(duì)抗網(wǎng)絡(luò)GAN案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Django中在xadmin中集成DjangoUeditor過程詳解

    Django中在xadmin中集成DjangoUeditor過程詳解

    這篇文章主要介紹了Django中在xadmin中集成DjangoUeditor過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • pytorch 同步機(jī)制的實(shí)現(xiàn)

    pytorch 同步機(jī)制的實(shí)現(xiàn)

    在PyTorch中,當(dāng)多個(gè)算子和內(nèi)核被并行執(zhí)行時(shí),PyTorch 通過 CUDA 的流和事件機(jī)制來管理并發(fā)和同步,本文就來介紹一下pytorch 同步機(jī)制,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-09-09
  • Sanic框架異常處理與中間件操作實(shí)例分析

    Sanic框架異常處理與中間件操作實(shí)例分析

    這篇文章主要介紹了Sanic框架異常處理與中間件操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了Sanic框架拋出異常、異常處理、中間件、監(jiān)聽器相關(guān)原理與操作技巧,需要的朋友可以參考下
    2018-07-07
  • 使用python制作一個(gè)截圖小工具

    使用python制作一個(gè)截圖小工具

    這篇文章主要討論了我們?nèi)绾问褂肞ython編程語言進(jìn)行截圖,我們看到了如何使用pyautogui 模塊與save() 函數(shù)和其他模塊,如NumPy 和OpenCV ,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Python實(shí)現(xiàn)緩存的兩個(gè)簡(jiǎn)單方法

    Python實(shí)現(xiàn)緩存的兩個(gè)簡(jiǎn)單方法

    緩存是一種用于提高應(yīng)用程序性能的技術(shù),它通過臨時(shí)存儲(chǔ)程序獲得的結(jié)果,以便在以后需要時(shí)重用它們,本文將學(xué)習(xí)Python中的不同緩存技術(shù),感興趣的可以了解下
    2024-11-11
  • 使用Djongo模塊在Django中使用MongoDB數(shù)據(jù)庫

    使用Djongo模塊在Django中使用MongoDB數(shù)據(jù)庫

    Django框架為我們提供了簡(jiǎn)潔方便的ORM模型供我們對(duì)數(shù)據(jù)庫進(jìn)行各種操作,但是這個(gè)“數(shù)據(jù)庫”卻并不包括NoSQL的典型——MongoDB。不少Django初學(xué)者也會(huì)到處詢問,如何才能在Django中使用MongoDB。本文將介紹使用Djongo來在Django中集成MongoDB數(shù)據(jù)庫
    2021-06-06
  • Django自定義用戶登錄認(rèn)證示例代碼

    Django自定義用戶登錄認(rèn)證示例代碼

    這篇文章主要給大家介紹了關(guān)于Django自定義用戶登錄認(rèn)證的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 聊聊Python中的浮點(diǎn)數(shù)運(yùn)算不準(zhǔn)確問題

    聊聊Python中的浮點(diǎn)數(shù)運(yùn)算不準(zhǔn)確問題

    這篇文章主要介紹了聊聊Python中的浮點(diǎn)數(shù)運(yùn)算不準(zhǔn)確問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評(píng)論

奉贤区| 济南市| 扎赉特旗| 常州市| 东平县| 平江县| 隆德县| 察隅县| 吉林市| 沅江市| 吐鲁番市| 房山区| 西乡县| 巢湖市| 宿州市| 日土县| 广水市| 花莲县| 长岭县| 昭觉县| 蕲春县| 巨野县| 和静县| 磐石市| 铅山县| 南充市| 亳州市| 湛江市| 南皮县| 专栏| 夏津县| 塔城市| 腾冲县| 乌兰察布市| 凤山县| 宣武区| 龙南县| 四子王旗| 清河县| 五常市| 荔浦县|