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

python?PyAutoGUI實(shí)現(xiàn)自動(dòng)化鼠標(biāo)鍵盤等常用操作

 更新時(shí)間:2023年12月26日 10:34:24   作者:簡(jiǎn)訊Alfred  
這篇文章主要介紹了python?PyAutoGUI實(shí)現(xiàn)自動(dòng)化鼠標(biāo)鍵盤等常用操作使用實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

PyAutoGUI 使用介紹

這個(gè) python 庫(kù)是我用的比較多的第三方庫(kù)了,因?yàn)樗軒臀易詣?dòng)化操作許多事情,而且跨平臺(tái),非常好用??梢哉f(shuō)是 python 中的按鍵精靈了。它不僅可以操作鼠標(biāo),還能操作鍵盤,屏幕截圖,還能生成一些簡(jiǎn)單的交互窗口,在自動(dòng)化操作方面提供的功能還是非常全面的。

安裝

python3 -m pip install pyautogui -i https://mirrors.aliyun.com/pypi/simple

以下操作都是已經(jīng)引入了 pyautogui。

import pyautogui

鼠標(biāo)操作

# 獲取屏幕分辨率
pyautogui.size()
# 獲取當(dāng)前鼠標(biāo)所在位置
pyautogui.position()

這兩個(gè)方法分別是確定鼠標(biāo)的移動(dòng)范圍,確定當(dāng)前鼠標(biāo)的移動(dòng)位置。

# 移動(dòng)到 100, 200 的位置
pyautogui.moveTo(100, 200)
# 基于以上位置 Y 軸移動(dòng) 50
pyautogui.move(0, 50)
# 在 2 秒內(nèi)按住鼠標(biāo)左鍵拖動(dòng)到 300, 400 的位置
pyautogui.dragTo(300, 400, 2, button='left')
# 在 2 秒內(nèi)按住鼠標(biāo)右鍵,基于以上位置 X 軸拖動(dòng) 30
pyautogui.drag(30, 0, 2, button='right')

上述操作比較好理解,移動(dòng)或者拖動(dòng)鼠標(biāo)。

# 開(kāi)始慢,結(jié)束快
pyautogui.moveTo(100, 100, 2, pyautogui.easeInQuad)
# 開(kāi)始快,結(jié)束慢
pyautogui.moveTo(100, 100, 2, pyautogui.easeOutQuad)
# 開(kāi)始和結(jié)束慢,中間快
pyautogui.moveTo(100, 100, 2, pyautogui.easeInOutQuad)
# 彈跳移動(dòng)到 100, 100 (移動(dòng)范圍較?。?
pyautogui.moveTo(100, 100, 2, pyautogui.easeInBounce)
# 彈跳移動(dòng)到 100, 100 (范圍較大)
pyautogui.moveTo(100, 100, 2, pyautogui.easeInElastic)

這部分操作在一些有人機(jī)檢測(cè)的系統(tǒng)中一定會(huì)用到。比如說(shuō)我們經(jīng)常遇到網(wǎng)頁(yè)的驗(yàn)證碼拖動(dòng)圖片補(bǔ)全完整圖片,如果勻速拖動(dòng)肯定是不行的,因?yàn)檎H说牟僮魇遣粫?huì)勻速拖動(dòng)鼠標(biāo);還有一種情況是在模擬操作游戲,如果鼠標(biāo)移動(dòng)過(guò)于死板,每次的動(dòng)作幅度,路徑,點(diǎn)擊的坐標(biāo)都相同,也會(huì)被檢測(cè)出使用了輔助軟件。所以在使用鼠標(biāo)操作游戲的時(shí)候,一定要加入隨機(jī)量,比如鼠標(biāo)移動(dòng)的路徑要隨機(jī),我們可以把上述參數(shù)放在列表中,每次隨機(jī)挑選移動(dòng)方式,點(diǎn)擊的坐標(biāo)隨機(jī)加或減幾個(gè)像素,每次點(diǎn)擊的停頓時(shí)間也隨機(jī)等等。一般這么操作就不會(huì)被查出來(lái)了。當(dāng)然還需要根據(jù)玩家的平時(shí)在線時(shí)間來(lái)使用,不能說(shuō)平時(shí)都是下午在線,然后突然每天黑夜刷很多小時(shí)。這樣的操作一般也會(huì)被警告(以我多年陰陽(yáng)師玩家經(jīng)驗(yàn))。扯遠(yuǎn)了,回正題。

# 點(diǎn)擊
pyautogui.click()
# 移動(dòng)到 100, 200 點(diǎn)擊
pyautogui.click(x=100, y=200)
# 使用右鍵點(diǎn)擊,可選 left, middle, right
pyautogui.click(button='right')
# 雙擊
pyautogui.click(clicks=2)
# 雙擊,單擊間隔時(shí)間 0.25 秒
pyautogui.click(clicks=2, interval=0.25)
# 鼠標(biāo)按下
pyautogui.mouseDown()
# 鼠標(biāo)抬起
pyautogui.mouseUp()

鍵盤操作

# 輸入,每個(gè)字符間隔 0.25 秒
pyautogui.write('Hello world!', interval=0.25)
# 按住 shift
pyautogui.keyDown('shift')
# 按下 left 鍵
pyautogui.press('left')
# 彈起 shift
pyautogui.keyUp('shift')

上述操作實(shí)現(xiàn)按住 shift 同時(shí)按下 left 鍵。

如果需要按下多個(gè)鍵,可以使用:

pyautogui.press(['left', 'left', 'left'])

如果鍵相同可以:

pyautogui.press('left', presses=3)

pyautogui 支持的按鍵:

['\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']

消息彈窗

alert()

pyautogui.alert(text='??這是一段警告', title='alert 測(cè)試', button='OK')

會(huì)彈出如下提示框:

confirm()

a = pyautogui.confirm(text='對(duì)話框測(cè)試', title='標(biāo)題', buttons=['OK', 'Cancel'])
print(a)

我這么寫你也應(yīng)該明白了,confirm() 方法會(huì)傳遞參數(shù)。這樣我們?cè)诓僮鬟^(guò)程中可以實(shí)現(xiàn)簡(jiǎn)單選擇。

prompt()

a = pyautogui.prompt(text='請(qǐng)輸入學(xué)號(hào)', title='標(biāo)題' , default='學(xué)號(hào)')
print(a)

選擇 OK 獲取用戶輸入,選擇 Cancel 返回 None。

password()

a = pyautogui.password(text='輸入密碼', title='標(biāo)題', default='', mask='*')
print(a)

選擇 OK 獲取用戶輸入,選擇 Cancel 返回 None。只是輸入的字符串都會(huì)被 mask 代替。

屏幕截圖

pyautogui.screenshot('my_screenshot.png')

屏幕截圖比較有用,根據(jù)截圖找圖感覺(jué)精度不高,所以就不推薦了。

以上就是 pyautogui 的使用介紹了,基本包含了所有常用操作。

如果還覺(jué)得不夠可以看官方文檔[1]和源碼[2]。

引用鏈接

官方文檔: https://pyautogui.readthedocs.io/en/latest/index.html 

源碼: https://github.com/asweigart/pyautogui 

以上就是python PyAutoGUI實(shí)現(xiàn)自動(dòng)化鼠標(biāo)鍵盤等常用操作的詳細(xì)內(nèi)容,更多關(guān)于python PyAutoGUI自動(dòng)化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • pandas實(shí)現(xiàn)按照多列排序-ascending

    pandas實(shí)現(xiàn)按照多列排序-ascending

    這篇文章主要介紹了pandas實(shí)現(xiàn)按照多列排序-ascending,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • pytorch深度神經(jīng)網(wǎng)絡(luò)入門準(zhǔn)備自己的圖片數(shù)據(jù)

    pytorch深度神經(jīng)網(wǎng)絡(luò)入門準(zhǔn)備自己的圖片數(shù)據(jù)

    這篇文章主要為大家介紹了pytorch深度神經(jīng)網(wǎng)絡(luò)入門準(zhǔn)備自己的圖片數(shù)據(jù)示例過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Django執(zhí)行指定腳本的幾種方法

    Django執(zhí)行指定腳本的幾種方法

    這篇文章主要給大家介紹了關(guān)于Django執(zhí)行指定腳本的幾種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-02-02
  • python numpy 矩陣堆疊實(shí)例

    python numpy 矩陣堆疊實(shí)例

    今天小編就為大家分享一篇python numpy 矩陣堆疊實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • python如何按順序批量修改文件名

    python如何按順序批量修改文件名

    這篇文章主要介紹了python如何按順序批量修改文件名問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python3去除頭尾指定字符的函數(shù)strip()、lstrip()、rstrip()用法詳解

    Python3去除頭尾指定字符的函數(shù)strip()、lstrip()、rstrip()用法詳解

    這篇文章主要介紹了Python3去除頭尾指定字符的函數(shù)strip()、lstrip()、rstrip()用法詳解,需要的朋友可以參考下
    2021-04-04
  • Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換詳解

    Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換詳解

    這篇文章主要給大家介紹了關(guān)于Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • Python打印scrapy蜘蛛抓取樹(shù)結(jié)構(gòu)的方法

    Python打印scrapy蜘蛛抓取樹(shù)結(jié)構(gòu)的方法

    這篇文章主要介紹了Python打印scrapy蜘蛛抓取樹(shù)結(jié)構(gòu)的方法,實(shí)例分析了打印scrapy蜘蛛抓取樹(shù)結(jié)構(gòu)的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • python格式化輸出實(shí)例(居中、靠右及靠左對(duì)齊)

    python格式化輸出實(shí)例(居中、靠右及靠左對(duì)齊)

    所謂格式化輸出就是數(shù)據(jù)按照某種特殊的格式和要求進(jìn)行輸出,下面這篇文章主要給大家介紹了關(guān)于python格式化輸出(居中、靠右及靠左對(duì)齊)的相關(guān)資料,文中介紹了format方式、其他擴(kuò)展寫法以及'%'方式,需要的朋友可以參考下
    2022-04-04
  • 一文詳細(xì)介紹numpy在python中的用法

    一文詳細(xì)介紹numpy在python中的用法

    這篇文章主要介紹了numpy在python中的用法,NumPy是Python科學(xué)計(jì)算庫(kù),主要用于處理大型多維數(shù)組和矩陣運(yùn)算,它提供了多種函數(shù)進(jìn)行數(shù)組操作,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01

最新評(píng)論

绩溪县| 黄浦区| 郸城县| 舒兰市| 昌邑市| 涿州市| 张家港市| 德化县| 望城县| 启东市| 洛宁县| 新化县| 甘谷县| 库尔勒市| 麻江县| 南宫市| 丹棱县| 福鼎市| 大埔区| 安乡县| 额济纳旗| 迁西县| 镇雄县| 霍邱县| 合阳县| 自贡市| 开原市| 永德县| 开平市| 深水埗区| 五大连池市| 新泰市| 克山县| 灵宝市| 靖边县| 仙桃市| 措勤县| 文安县| 芜湖县| 当阳市| 泸西县|