五月天六月婷婷开心激情,天使的性电影,三级韩国一区久久二区综合,五月婷婷久,九九精品在线视频,66精品综合久久久久久久

您的位置:首頁 >資訊 >

#pyautogui & pyperclip# 基于pyautogui & pyperclip的UI 自動

2023-01-12 14:25:46 程序員客棧

“文章所涉及內(nèi)容更多來自網(wǎng)絡(luò),在此聲明,并感謝知識的貢獻(xiàn)者!”

pyautogui—

PyAutoGUI簡介:


【資料圖】

pyautogui最方便的地方就是,你不需要去用代碼定位元素,你只需要用截圖就行,例如你要識別桌面上某個應(yīng)用,你只需要截圖這個應(yīng)用,然后通過這個截圖和當(dāng)前桌面對比即可找到圖標(biāo)的位置

pyautogui官網(wǎng):

https://pyautogui.readthedocs.io/en/latest/

pyautogui組件:

鼠標(biāo)、鍵盤、對話框、屏幕

Pyautogui教程:

import pyautogui as auto

import pyperclip

import time

#獲取屏幕大小

screen_width,screen_height=auto.size()

#獲取鼠標(biāo)位置(X,Y)

mouse_x,mouse_y=auto.position()

#根據(jù)坐標(biāo)系移動鼠標(biāo)

auto.moveTo(100,150)

#點擊鼠標(biāo)

auto.click()

#根據(jù)坐標(biāo)系點擊鼠標(biāo)

auto.click(100,150)

#尋找屏幕上的圖片并進(jìn)行點擊

auto.click("button.png")

#根據(jù)像素移動

auto.move(400,0)

#雙擊鼠標(biāo)

auto.doubleClick()

#點擊ESC鍵

auto.press("esc")

#按下shift鍵的同時,連按左鍵四下

with auto.hold("shift"):

auto.press(["left","left","left","left"])

#按下快捷鍵

auto.hotkey("ctrl","c")

#彈出窗口

auto.alert("This is the message todisplay.")

#模擬鍵盤輸入

pyautogui.write("Hello world!",interval=0.25)

#按壓鼠標(biāo)拖拽

while distance > 0:

pyautogui.drag(distance, 0, duration=0.5) # move right

distance -= 5

pyautogui.drag(0, distance, duration=0.5) # move down

pyautogui.drag(-distance, 0, duration=0.5) # move left

distance -= 5

pyautogui.drag(0,-distance, duration=0.5) # move up

pyautogui 前置操作

自動防故障功能

# 默認(rèn)這項功能為True, 這項功能意味著:當(dāng)鼠標(biāo)的指針在屏幕的最左上方,程序會報錯;目的是為了防止程序無法停止

pyautogui.FAILSAFE =False

停頓功能

# 意味著所有pyautogui的指令都要暫停一秒;其他指令不會停頓;這樣做,可以防止鍵盤鼠標(biāo)操作太快;

pyautogui.PAUSE = 1

pyautogui 鼠標(biāo)操作

獲取屏幕分辨率

print(pyautogui.size()) # 返回所用顯示器的分辨率;輸出:Size(width=1920,height=1080)

width,height = pyautogui.size()

print(width,height) # 1920 1080

移動到指定位置

# 將鼠標(biāo)移動到指定的坐標(biāo);duration的作用是設(shè)置移動時間,所有的gui函數(shù)都有這個參數(shù),而且都是可選參數(shù);

# 向右移動100px,向下移動500px, 這個過程持續(xù) 1 秒鐘;

pyautogui.moveTo(100,300,duration=1)

獲取鼠標(biāo)位置

print(pyautogui.position()) # 得到當(dāng)前鼠標(biāo)位置;輸出:Point(x=200,y=800)

鼠標(biāo)單擊

# 點擊鼠標(biāo)

pyautogui.click(10,10) # 鼠標(biāo)點擊指定位置,默認(rèn)左鍵

pyautogui.click(10,10,button="left") # 單擊左鍵

pyautogui.click(1000,300,button="right") # 單擊右鍵

pyautogui.click(1000,300,button="middle") # 單擊中間

鼠標(biāo)雙擊

pyautogui.doubleClick(10,10) # 指定位置,雙擊左鍵

pyautogui.rightClick(10,10) # 指定位置,雙擊右鍵

pyautogui.middleClick(10,10) # 指定位置,雙擊中鍵

鼠標(biāo)點擊與釋放

pyautogui.mouseDown() # 鼠標(biāo)按下

pyautogui.mouseUp() # 鼠標(biāo)釋放

鼠標(biāo)控制拖動事件

# 拖動到指定位置

# 將鼠標(biāo)拖動到指定的坐標(biāo);duration的作用是設(shè)置移動時間,所有的gui函數(shù)都有這個參數(shù),而且都是可選參數(shù)

pyautogui.dragTo(100,300,duration=1)

# 按方向拖動

# 向右拖動100px,向下拖動500px, 這個過程持續(xù) 1 秒鐘

pyautogui.dragRel(100,500,duration=4) # 第一個參數(shù)是左右移動像素值,第二個是上下

鼠標(biāo)滾輪

# 控制鼠標(biāo)滾動的函數(shù)是scroll(),傳入一個整數(shù)的參數(shù),說明向上或向下滾動多少個單位;單位根據(jù)操作系統(tǒng)不同而不同

pyautogui.scroll(300) # 向下滾動300個單位;

pyautogui 鍵盤操作

鍵盤輸入函數(shù)

-pyautogui.keyDown() :模擬按鍵按下;

-pyautogui.keyUp() :模擬按鍵釋放;

-pyautogui.press() :# 就是調(diào)用keyDown() & keyUp(),模擬一次按鍵;

-pyautogui.typewrite("this",0.5) :第一參數(shù)是輸入內(nèi)容,第二個參數(shù)是每個字符間的間隔時間;

-pyautogui.typewrite(["T","h","i","s"]):typewrite 還可以傳入單字母的列表;

鍵盤事件

pyautogui.keyDown("shift") # 按下shift

pyautogui.press("4") # 按下 4

pyautogui.keyUp("shift") # 釋放 shift

緩慢輸出

pyautogui.typewrite("$*……%……¥", 0.5)

鍵盤特殊順序輸出

pyautogui.typewrite(["T","i","s","left","left","h",]) # 輸出:This

特殊按鍵說明

鍵盤字符串 說明

enter(或return 或 \n) 回車

esc ESC鍵

shiftleft, shiftright 左右SHIFT鍵

altleft, altright 左右ALT鍵

ctrlleft, ctrlright 左右CTRL鍵

tab (\t) TAB鍵

backspace, delete BACKSPACE 、DELETE鍵

pageup, pagedown PAGE UP 和 PAGE DOWN鍵

home, end HOME和 END鍵

up, down, left,right 箭頭鍵

f1, f2, f3…. f12 F1…….F12鍵

volumemute, volumedown,volumeup 聲音變大變小靜音(有些鍵盤沒有)

pause PAUSE鍵,暫停鍵

capslock CAPSLOCK 鍵

numlock NUMLOCK 鍵

scrolllock SCROLLLOCK鍵

insert INSERT鍵

printscreen PRINT SCREEN鍵

winleft, winright Win鍵(windows )

command command鍵(Mac OS X )

option option(Mac OS X)

快捷鍵

pyautogui.hotkey("ctrl","c")

pyautogui 屏幕操作

獲取屏幕分辨率

print(pyautogui.size()) # 返回所用顯示器的分辨率;輸出:Size(width=1920,height=1080)

width,height = pyautogui.size()

print(width,height) # 1920 1080

屏幕截圖

pyautogui 提供了一個方法screenshot(),可以返回一個Pillow的image對象

im = pyautogui.screenshot() # 返回屏幕的截圖,是一個Pillow的image對象

im.getpixel((500, 500)) # 返回im對象上,(500,500)這一點像素的顏色,是一個RGB元組

pyautogui.pixelMatchesColor(500,500,(12,120,400))# 是一個對比函數(shù),對比的是屏幕上(500,500)這一點像素的顏色,與所給的元素是否相同;

im = pyautogui.screenshot() # 返回屏幕的截圖,是一個Pillow的image對象

im.getpixel((500, 500)) # 返回im對象上,(500,500)這一點像素的顏色,是一個RGB元組

pyautogui.pixelMatchesColor(500,500,(12,120,400))# 是一個對比函數(shù),對比的是屏幕上(500,500)這一點像素的顏色,與所給的元素是否相同;

pyautogui 網(wǎng)頁登錄

pyautogui 網(wǎng)頁登錄

https://blog.csdn.net/m0_56238419/article/details/127697645

pyperclip

pyperclip簡介:

1. 可以復(fù)制剪貼板內(nèi)容

2. 可以向剪貼板寫入內(nèi)容

Pyperclip教程:

import pyperclip

# 將文本復(fù)制到剪貼板

pyperclip.copy("哈嘍")

# 從剪貼板粘貼文本

pyperclip.paste()

# 剪貼板上有非空字符串時返回字符串

import pyperclip

a = pyperclip.waitForPaste(5)

print(a)

# 剪貼板上有文本被更改時傳返回值

pyperclip.copy("original text")

a = pyperclip.waitForNewPaste(5)

print(a)

參考資料

參考資料

https://www.jb51.net/article/209694.htm

https://zhuanlan.zhihu.com/p/410967443

https://www.jb51.net/article/251803.htm

https://www.cnblogs.com/yuruhao/p/14634401.html

http://www.yuyanba.com/default.aspx/did92862

https://blog.csdn.net/pythonuser1/article/details/125986205

https://blog.csdn.net/weixin_45122104/article/details/125957915

http://t.zoukankan.com/LM791605490-p-10245807.html

標(biāo)簽: 指定位置 點擊鼠標(biāo) 模擬按鍵


        
精彩推薦

 

主站蜘蛛池模板: 国产精品麻豆va在线播放| 国产123区在线视频观看| 中国人观看的视频播放中文| 女人扒开裤子让男人桶| 全彩里番acg里番本子| 免费国产黄网站在线观看视频| 国产精品入口麻豆免费| loveme动漫在线观看免费| 黄瓜视频在线播放| 噜噜嘿在线视频免费观看| 动漫肉h| 美女扒开尿口让男人操| 日本私人影院| 四虎成人精品在永久免费| 国产精品综合色区在线观看| 性放荡日记高h| 日韩欧美亚洲国产精品字幕久久久| 欧美性猛交xxxx乱大交蜜桃| 91亚洲自偷手机在线观看| 极品校花yin乱合集| 抱着cao才爽| 色吧电影网| 狠狠色噜噜狠狠狠合久| 日韩一区二区三区精品| 国产综合久久久久| 麻豆免费电影| 国产视频一区二| 久久在精品线影院精品国产| 色哟哟视频在线| 色综合久久一本首久久| 伊人色综合网一区二区三区| 娃娃脸1977年英国| 爽天天天天天天天| 亚洲va久久久噜噜噜久久天堂| 成人毛片全部免费观看| 日韩大片高清播放器好| 久久国产一区二区三区| 美国式禁忌5太大了| 妇乱子伦激情| 国产在线观看免费完整版中文版| 欧美猛交xxxx免费看|