国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python使用pyautogui控制鼠標(biāo)與鍵盤(無屏幕內(nèi)容)

這篇具有很好參考價值的文章主要介紹了python使用pyautogui控制鼠標(biāo)與鍵盤(無屏幕內(nèi)容)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言:

? ? ? ? 若是讀者學(xué)過爬蟲工具Selenium,對pyautogui必能快速上手,只需要不斷實踐復(fù)習(xí)即可熟練掌握。若是沒學(xué)過當(dāng)然沒關(guān)系,我會以初學(xué)者的角度盡可能詳細(xì)地向你解讀新手遇到的許多問題。

? ? ? ? 請注意:在本文章中,我會import pyautogui as auto????????

? ? ? ? 在本內(nèi)容中,我會使用最為常用的屬性、方法,若是有其他的功能想要實現(xiàn),請詢問GPT或文心一言,在AI那里會得到詳細(xì)的回答,我只是作為一個初學(xué)者把某些晦澀難懂的概念以一個更為通俗易懂的角度說明白。

? ? ? ? 若是認(rèn)為本文章有可以改進(jìn)的地方,希望能夠給我留個言,我希望借此機(jī)會提升我的編寫能力,將來我也會通過發(fā)布文章的方式來進(jìn)行學(xué)習(xí),非常感謝!

提醒事項

? ? ? ? 由于涉及到鼠標(biāo)的控制,用戶可能會因為程序設(shè)計錯誤對鼠標(biāo)拾取控制,造成程序失控甚至無法使用鼠標(biāo)結(jié)束程序,最后可能需要使用下列方式結(jié)束程序:

? ? ? ? 1、Windows: Ctrl + Alt + Del? ? ? ? MacOS: Command + Shift + Option + Q

? ? ? ? 2、在設(shè)計程序的時候,每次啟用pyautogui的方法之后設(shè)定暫停3秒再繼續(xù)下一步

pyautogui.PAUSE = 3

? ? ? ? 3、直接按下Ctrl + C ,讓程序產(chǎn)生KeyboardInterrupt異常從而終止(建議使用)

預(yù)備知識:屏幕坐標(biāo)

? ? ? ? 對鼠標(biāo)而言,屏幕坐標(biāo)的原點在屏幕左上角(0,0),即平面直角坐標(biāo)系的第四象限。根據(jù)自己屏幕的像素不同,右下角對應(yīng)的x和y的值也不同

import pyautogui as auto

width, height = auto.size()
print(width, height)

通過以上代碼,可以獲得屏幕的像素規(guī)格。?

鼠標(biāo)的相關(guān)操作

import pyautogui as auto
import time
# 獲得當(dāng)前的x和y坐標(biāo)
xaxis, yaxis = auto.position()
print(f"你最初的鼠標(biāo)位置是:{xaxis},{yaxis}")

# 以絕對位置移動鼠標(biāo)到指定位置    duration:持續(xù)時間
auto.moveTo(x=10, y=0, duration=0.5)
auto.moveTo(900, 600, 1)
auto.moveTo(900, 0, 0.5)
auto.moveTo(0, 600, 1)

# 以相對位置移動鼠標(biāo) moveRel中的Rel代表的是relative:相對的
auto.moveRel(xOffset=300, yOffset=0, duration=0.5)
auto.moveRel(600,200,0.5)

# 鼠標(biāo)點擊操作,參數(shù)為1、x坐標(biāo)   2、y坐標(biāo)   3、所選按鍵  4、移動到目標(biāo)坐標(biāo)所用時間
# 5、點擊次數(shù)    6、鼠標(biāo)點擊之間的間隔
auto.click(x=2900, y=1950, button="left", duration=0.5, clicks=2, interval=1)
auto.moveTo(2100,1950,duration=0.2)
#
auto.mouseDown(button='left')  # 使用mousedown來實現(xiàn)鼠標(biāo)按住操作
time.sleep(1)   # 保持鼠標(biāo)左鍵按住不動1秒
auto.mouseUp()  # 松開鼠標(biāo),此處我把鼠標(biāo)放在圖標(biāo)上,卻沒有打開菜單,不知道為什么

time.sleep(5)   # 給我個時間打開系統(tǒng)自帶的畫圖軟件以便展示拖拽
auto.moveTo(1000,1000)
auto.dragTo(1500,1500)  # 按住鼠標(biāo)左鍵拖拽到目標(biāo)坐標(biāo)

time.sleep(5)   # 在5秒內(nèi)自行打開瀏覽器查看效果
auto.scroll(-200)   # 執(zhí)行這一條之后我用瀏覽器測試卻只向下滾動了接近450像素點

以上代碼的坐標(biāo)是基于我電腦的坐標(biāo),我的電腦的分辨率是3200*2000?,請讀者根據(jù)自身電腦設(shè)置坐標(biāo)

注意事項:

? ? ? ? 1、在執(zhí)行一條會讓鼠標(biāo)移動到屏幕的四個頂點的時候,程序會自動終止。這是為了防止程序出現(xiàn)錯誤從而導(dǎo)致用戶無法關(guān)閉程序而設(shè)置的安全防護(hù),所以請不要碰到屏幕的四個頂點。若一定要碰,請百度查詢解決方案。

? ? ? ? 2、不建議使用moveRel這類相對移動方法,因為我們可以自行用微信截圖來獲取屏幕上任何一個位置的具體坐標(biāo)。

? ? ? ? 3、通過一個click() 方法我們可以實現(xiàn)鼠標(biāo)雙擊或多擊的操作,也可以實現(xiàn)右鍵、中鍵的操作

? ? ? ? 通過調(diào)整button = '?' 來實現(xiàn)? ? ? ? 可選left middle right? ? ? ? 默認(rèn)是left

? ? ? ? 4、mouseDown() 方法可以配合time.sleep(n)來實現(xiàn)長按幾秒

? ? ? ? 5、moveTo() 方法會自動將鼠標(biāo)抬起然后移動到其他的位置,所以不可以用mouseDown和moveTo兩個方法來實現(xiàn)拖拽的功能,只能依靠dragTo。

? ? ? ? 6、滾動功能scroll中的參數(shù)為正時表示鼠標(biāo)滾輪向上滾動,為負(fù)即為向下滾動。但是目前我不清楚這個參數(shù)代表什么,設(shè)置為2000在我這里只能滾動差不多450像素點的內(nèi)容。

?

鍵盤的相關(guān)操作

import pyautogui as auto
import time
# 獲得當(dāng)前的x和y坐標(biāo)
xaxis, yaxis = auto.position()
print(f"你最初的鼠標(biāo)位置是:{xaxis},{yaxis}")

print(("請在5秒內(nèi)打開記事本以讓程序模擬鍵盤輸入"))
time.sleep(5)

# 傳入一段文字,設(shè)置每0.1秒傳入一個字符
auto.typewrite(message='hello', interval=0.1)
# 傳入列表、元組也可以,因為傳入是按照一個一個字符進(jìn)行的
auto.typewrite(['w','o','r','l','d'], 0.1)

auto.keyDown('h')   # 按下h鍵不動
# 雖然按住h鍵保持1秒,但是也只能輸出一個字符,因為此方法只能用來模擬鍵盤操作,不能用來傳入字符串
time.sleep(1)
auto.keyUp('h')     # 按下了h鍵,使用結(jié)束自然要放開按鍵

# 表達(dá)特殊按鍵
auto.typewrite(['M','n','g','left','left','i'],0.1)
auto.keyDown('shift')
auto.press('8')     # 按下8鍵后松開
auto.keyUp('shift')

?注意事項:

? ? ? ? 1、typewrite() 用來輸入文本? ? ? ? keyDown()和keyUp() 都只是用來操作按鍵,不能用來輸入文本? ? ? ? press()用來點按一次按鍵? ? ? ??

? ? ? ? 2、鍵盤中有一些鍵如del鍵,若要按下del鍵,則要寫為auto.keyDown("delete")才可以,按一下左方向鍵要用auto.keyDown("left")才可以,每一個此類特殊鍵位都有相對應(yīng)的表達(dá)方式。

在無顯示器模式下運行pyautogui,python,鼠標(biāo),鍵盤,自動化

?

熱鍵(快捷鍵)

import pyautogui as auto

# hotkey:熱鍵    按照順序按下所有按鍵,從右往左釋放按鍵,兩次按鍵之間間隔0.1秒
auto.hotkey('ctrl','shift','right',interval=0.1)

auto.keyDown('ctrl')
auto.keyDown('shift')
auto.keyDown('right')
auto.keyUp('ctrl')
auto.keyUp('shift')
auto.keyUp('right')

?????????不知道為什么我的這兩種方式調(diào)用我網(wǎng)易云的全局快捷鍵都無效,若有人知道且愿意告訴我,我感激不盡!文章來源地址http://www.zghlxwxcb.cn/news/detail-828612.html

到了這里,關(guān)于python使用pyautogui控制鼠標(biāo)與鍵盤(無屏幕內(nèi)容)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python的pyautogui庫(鼠標(biāo),鍵盤操作篇)

    Python的pyautogui庫(鼠標(biāo),鍵盤操作篇)

    圖片操作篇可以觀看https://blog.csdn.net/m0_61741706/article/details/126898616 pyautogui庫可以模仿人去點擊輸出和鍵盤,相比selenium庫,pyautogui庫更方便,更便捷 下載就用pip直接下載,后者用清華源下載 ?出現(xiàn)這樣就是下載成功 之后引入庫,并判斷電腦屏幕的分辨率 接下來是控制鼠標(biāo)移

    2024年02月12日
    瀏覽(19)
  • PyAutoGUI Python 庫,可以用于自動化鼠標(biāo)和鍵盤的輸入

    PyAutoGUI 是一個 Python 庫,可以用于自動化鼠標(biāo)和鍵盤的輸入。它可以模擬人類的鼠標(biāo)和鍵盤操作,例如單擊、雙擊、拖動、按鍵、釋放鍵等。PyAutoGUI 還提供了一些其他功能,例如屏幕截圖和圖像識別等。 以下是幾個 PyAutoGUI 的典型案例和代碼: 這些示例只是 PyAutoGUI 的一小部

    2024年02月10日
    瀏覽(29)
  • python操作windows桌面實現(xiàn)鼠標(biāo)、鍵盤操作,python之pyautogui庫文檔詳解

    PyAutoGUI是一個純Python的GUI自動化工具,其目的是可以用程序自動控制鼠標(biāo)和鍵盤操作,多平臺支持(Windows,OS X,Linux)。 源碼地址: https://github.com/asweigart/pyautogui 官方文檔: https://github.com/asweigart/pyautogui/blob/master/docs/simplified-chinese.ipynb PyAutoGUI可以模擬鼠標(biāo)的移動、點擊、拖

    2024年02月04日
    瀏覽(19)
  • python+pyautogui—PC端自動化(二)鍵盤鼠標(biāo)及對話框操作

    python+pyautogui—PC端自動化(二)鍵盤鼠標(biāo)及對話框操作

    目錄 鼠標(biāo)操作 獲取鼠標(biāo)所在位置坐標(biāo) 獲取鼠標(biāo)所在位置的RGB值 鼠標(biāo)點擊 鼠標(biāo)按下和釋放 鼠標(biāo)移動 鼠標(biāo)拖拽 滾輪滾動 鍵盤操作 輸入英文字符 普通按鍵操作press 按下與抬起 組合鍵hotkey 持續(xù)按鍵hold 彈出對話框 alert confirm prompt password 獲取鼠標(biāo)所在位置坐標(biāo) 獲取鼠標(biāo)所在位

    2024年02月12日
    瀏覽(30)
  • Python 自動化指南(繁瑣工作自動化)第二版:二十、使用 GUI 自動化控制鍵盤和鼠標(biāo)

    Python 自動化指南(繁瑣工作自動化)第二版:二十、使用 GUI 自動化控制鍵盤和鼠標(biāo)

    原文:https://automatetheboringstuff.com/2e/chapter20/ 了解用于編輯電子表格、下載文件和啟動程序的各種 Python 模塊是很有用的,但有時您需要使用的應(yīng)用沒有任何模塊。在計算機(jī)上實現(xiàn)任務(wù)自動化的終極工具是你編寫的直接控制鍵盤和鼠標(biāo)的程序。這些程序可以通過發(fā)送虛擬擊鍵和

    2024年02月09日
    瀏覽(101)
  • python編程控制鍵盤鼠標(biāo)

    python編程控制鍵盤鼠標(biāo)

    1.安裝Pywin32 下載完成后直接運行。 2. 模擬按鍵 ? ? ?keybd_event(bVk, bScan, dwFlags, dwExtraInfo) ? ? ? 第一個參數(shù):虛擬鍵碼(鍵盤鍵碼對照表見附錄); ? ? ? 第二個參數(shù):硬件掃描碼,一般設(shè)置為0即可; ? ? ? 第三個參數(shù):函數(shù)操作的一個標(biāo)志位,如果值為KEYEVENTF_EXTENDEDKEY則

    2024年02月08日
    瀏覽(21)
  • python讀取控制鼠標(biāo)鍵盤

    目錄 一,工具 二,鼠標(biāo) 1,實時顯示鼠標(biāo)位置 2,控制移動鼠標(biāo) 3,控制點擊鼠標(biāo) 三,鍵盤 1,單鍵輸入 2,組合鍵輸入 四,實用demo 1,多網(wǎng)頁依次點擊固定位置的按鈕 2,收集多個網(wǎng)頁的鏈接 pyautogui庫 命令:pip3 install pyautogui==0.9.50 如果不指定版本,可能會在使用時報錯:

    2024年04月10日
    瀏覽(25)
  • python 如何控制鼠標(biāo)鍵盤

    你可以使用Python的第三方庫pyautogui來控制鼠標(biāo)和鍵盤。pyautogui庫是一個跨平臺的GUI自動化庫,可以模擬鼠標(biāo)和鍵盤操作,以及截屏、獲取窗口句柄等功能。 下面是一些常用的鼠標(biāo)和鍵盤控制示例: 鼠標(biāo)移動到指定位置 鼠標(biāo)點擊

    2024年02月11日
    瀏覽(18)
  • 【PyAutoGUI操作指南】02 鼠標(biāo)控制功能+獲取當(dāng)前坐標(biāo)+鼠標(biāo)事件+鼠標(biāo)滾動查詢

    【PyAutoGUI操作指南】02 鼠標(biāo)控制功能+獲取當(dāng)前坐標(biāo)+鼠標(biāo)事件+鼠標(biāo)滾動查詢

    X坐標(biāo)從左側(cè)的0開始,向右增加,Y坐標(biāo)從頂部的0開始,向下遞增。 左上角的像素位于坐標(biāo)0,0。如果屏幕分辨率為1920 x 1080,則右下角的像素將為1919,1079(因為坐標(biāo)從0開始,而不是1)。 3.1.1 輸出屏幕分辨率大小與鼠標(biāo)光標(biāo)位置 3.1.2 判斷位置是否在屏幕內(nèi) 3.2.1 moveTo()將鼠標(biāo)

    2024年02月09日
    瀏覽(28)
  • pynput:用Python輕松掌握鼠標(biāo)和鍵盤的控制

    pynput:用Python輕松掌握鼠標(biāo)和鍵盤的控制

    引言 控制鼠標(biāo)和鍵盤是自動化任務(wù)中的常見需求。在Python中,pynput庫是一種強大的工具,可以幫助我們實現(xiàn)這些操作。本文將詳細(xì)介紹pynput庫的使用方法,并提供一些示例幫助讀者快速上手。 1. 安裝pynput庫 首先,我們需要安裝pynput庫??梢允褂胮ip命令來進(jìn)行安裝: 2. 控制鼠

    2024年02月04日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包