欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用PyAutoGUI實現(xiàn)桌面自動化功能

 更新時間:2025年07月22日 10:59:41   作者:帶娃的IT創(chuàng)業(yè)者  
PyAutoGUI 是一個跨平臺的桌面自動化工具,能夠模擬鼠標點擊、鍵盤輸入、屏幕截圖與圖像識別,適用于重復(fù)性桌面任務(wù),本集通過代碼+截圖+輸出日志的實戰(zhàn)形式,帶你掌握從基礎(chǔ)操作到復(fù)雜任務(wù)的全流程自動化,需要的朋友可以參考下

摘要

PyAutoGUI 是一個跨平臺的桌面自動化工具,能夠模擬鼠標點擊、鍵盤輸入、屏幕截圖與圖像識別,適用于重復(fù)性桌面任務(wù)(如表單填寫、游戲操作、批量文件處理)。本集通過代碼+截圖+輸出日志的實戰(zhàn)形式,帶你掌握從基礎(chǔ)操作到復(fù)雜任務(wù)的全流程自動化。

核心概念與代碼實戰(zhàn)

1. 基礎(chǔ)操作:鼠標與鍵盤控制

安裝命令

pip install pyautogui  

鼠標控制

import pyautogui  
import time  

# 移動鼠標到坐標 (500, 300)  
pyautogui.moveTo(500, 300, duration=1)  

# 模擬點擊(左鍵單擊)  
pyautogui.click()  

# 滾輪滾動(向上滾動 200 單位)  
pyautogui.scroll(200)  

鍵盤輸入

# 輸入文本  
pyautogui.write("Hello, PyAutoGUI!", interval=0.1)  

# 組合鍵操作(Ctrl+C)  
pyautogui.hotkey("ctrl", "c")  

效果驗證

print(f"當前鼠標位置:{pyautogui.position()}")  # 輸出實時坐標  

2. 截屏與圖像識別

場景:通過屏幕上的圖標定位并點擊按鈕。

# 截取屏幕并保存  
screenshot = pyautogui.screenshot()  
screenshot.save("screenshot.png")  

# 查找圖標位置(需提前保存圖標圖片)  
button_location = pyautogui.locateOnScreen("submit_button.png")  
if button_location:  
    # 計算圖標中心點并點擊  
    button_center = pyautogui.center(button_location)  
    pyautogui.click(button_center)  
else:  
    print("圖標未找到!")  

輸出示例

圖標位置:Box(left=200, top=150, width=50, height=30)  

3. 腳本調(diào)試與異常處理

問題場景:圖像識別失敗導(dǎo)致腳本崩潰。

解決方案

try:  
    # 設(shè)置超時時間為 5 秒  
    button_location = pyautogui.locateOnScreen(  
        "save_icon.png",  
        confidence=0.8,  # 允許 80% 相似度  
        grayscale=True   # 灰度匹配提升速度  
    )  
    if not button_location:  
        raise Exception("圖標匹配失敗!")  
except Exception as e:  
    print(f"錯誤:{e}")  
    # 回退到手動輸入坐標  
    pyautogui.click(100, 200)  

調(diào)試技巧

  • 使用 pyautogui.PAUSE = 1 控制操作間隔
  • 啟用 pyautogui.FAILSAFE = True(鼠標移至左上角強制停止腳本)

實戰(zhàn)案例

案例 1:自動化填寫表單

場景:批量填寫 Excel 表格中的數(shù)據(jù)到某個桌面應(yīng)用。

import pyautogui  
import pandas as pd  

# 讀取 Excel 數(shù)據(jù)  
data = pd.read_excel("data.xlsx")  

for index, row in data.iterrows():  
    # 定位輸入框并填寫  
    pyautogui.click(300, 400)  # 姓名輸入框  
    pyautogui.write(row["姓名"])  
    pyautogui.press("tab")      # 跳轉(zhuǎn)到年齡輸入框  
    pyautogui.write(str(row["年齡"]))  
    # 提交表單  
    pyautogui.press("enter")  
    time.sleep(1)  # 等待頁面刷新  

輸出示例

已提交姓名:張三,年齡:25  
已提交姓名:李四,年齡:30  

案例 2:模擬游戲中的簡單操作

場景:自動玩“鍵盤反應(yīng)速度”游戲。

# 監(jiān)聽屏幕特定區(qū)域的變化  
game_region = (400, 200, 200, 100)  

while True:  
    # 截取游戲區(qū)域  
    region_screenshot = pyautogui.screenshot(region=game_region)  
    # 檢測紅色方塊出現(xiàn)  
    if pyautogui.pixelMatchesColor(500, 250, (255, 0, 0)):  
        pyautogui.press("space")  # 按空格鍵得分  

案例 3:批量重命名文件

場景:將文件夾中的 100 張圖片按規(guī)則重命名。

import os  
import pyautogui  

# 打開文件資源管理器  
os.system("explorer.exe .\\images")  
time.sleep(2)  

# 依次重命名文件  
for i in range(1, 101):  
    pyautogui.hotkey("ctrl", "a")    # 全選文件  
    pyautogui.press("f2")            # 重命名  
    pyautogui.write(f"photo_{i:03d}")  # 格式化名稱(photo_001)  
    pyautogui.press("enter")  
    time.sleep(0.5)  

擴展思考

1. PyAutoGUI 與其他工具的結(jié)合

與 Selenium 結(jié)合

# 用 Selenium 處理網(wǎng)頁,PyAutoGUI 處理下載彈窗  
driver.get("https://example.com/download")  
pyautogui.press("enter")  # 自動確認下載對話框  

打包為可執(zhí)行文件

pip install pyinstaller  
pyinstaller --onefile your_script.py  

2. 安全性和法律合規(guī)性

  • 風險提示
    • 避免自動化操作金融交易、社交賬號等敏感場景
    • 部分軟件(如游戲)可能禁止自動化腳本
  • 合規(guī)建議
    • 僅用于個人效率提升或授權(quán)場景
    • 遵守《計算機軟件保護條例》和平臺規(guī)則

總結(jié)

通過本實戰(zhàn),你已掌握:

  1. PyAutoGUI 的核心操作(鼠標、鍵盤、圖像識別)
  2. 復(fù)雜任務(wù)的異常處理與調(diào)試技巧
  3. 從表單填寫到游戲模擬的完整案例
  4. 自動化腳本的法律邊界與安全實踐

以上就是Python使用PyAutoGUI實現(xiàn)桌面自動化功能的詳細內(nèi)容,更多關(guān)于Python PyAutoGUI桌面自動化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python json load json 數(shù)據(jù)后出現(xiàn)亂序的解決方案

    python json load json 數(shù)據(jù)后出現(xiàn)亂序的解決方案

    今天小編就為大家分享一篇python json load json 數(shù)據(jù)后出現(xiàn)亂序的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python 不以科學計數(shù)法輸出的方法

    python 不以科學計數(shù)法輸出的方法

    今天小編就為大家分享一篇python 不以科學計數(shù)法輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python使用Turtle模塊繪制五星紅旗代碼示例

    Python使用Turtle模塊繪制五星紅旗代碼示例

    這篇文章主要介紹了Python使用Turtle模塊繪制五星紅旗代碼示例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Numpy之將矩陣拉成向量的實例

    Numpy之將矩陣拉成向量的實例

    今天小編就為大家分享一篇Numpy之將矩陣拉成向量的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python計算程序運行時間的方法

    Python計算程序運行時間的方法

    這篇文章主要介紹了Python計算程序運行時間的方法,分別記錄起始時間與結(jié)束時間,計算兩者之間的差值來獲得程序的運行時間,需要的朋友可以參考下
    2014-12-12
  • 爬蟲Python驗證碼識別入門

    爬蟲Python驗證碼識別入門

    這篇文章主要介紹了爬蟲Python驗證碼識別,屬于入門級別的介紹,剛接觸爬蟲的朋友可以參考如下
    2021-08-08
  • Python?NumPy教程之索引詳解

    Python?NumPy教程之索引詳解

    這篇文章主要為大家詳細介紹了Python?NumPy中索引的使用方法,文中的示例代碼講解詳細,對我們學習Python有一定幫助,需要的可以參考一下
    2022-08-08
  • pandas中去除指定字符的實例

    pandas中去除指定字符的實例

    今天小編就為大家分享一篇pandas中去除指定字符的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python3實現(xiàn)監(jiān)控新型冠狀病毒肺炎疫情的示例代碼

    Python3實現(xiàn)監(jiān)控新型冠狀病毒肺炎疫情的示例代碼

    這篇文章主要介紹了Python3實現(xiàn)監(jiān)控新型冠狀病毒肺炎疫情的示例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 淺談Python中的閉包

    淺談Python中的閉包

    簡單說,閉包就是根據(jù)不同的配置信息得到不同的結(jié)果。再來看看專業(yè)的解釋:閉包(Closure)是詞法閉包(Lexical Closure)的簡稱,是引用了自由變量的函數(shù)。這個被引用的自由變量將和這個函數(shù)一同存在,即使已經(jīng)離開了創(chuàng)造它的環(huán)境也不例外。
    2015-07-07

最新評論