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

Windows自動(dòng)化Python?pyautogui?RPA操作實(shí)現(xiàn)

 更新時(shí)間:2025年01月14日 08:58:42   作者:胡子哥502  
本文詳細(xì)介紹了使用Python的pyautogui庫進(jìn)行Windows自動(dòng)化操作的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

依賴包

import time
import pyautogui
import pyperclip
import os
import psutil
from pywinauto.application import Application

睡眠:

pyautogui.sleep(1)

鼠標(biāo)事件:

pyautogui.moveTo(100, 100, duration=0.25)
pyautogui.click(100, 100, duration=0.25)
pyautogui.click(10,10)   # 鼠標(biāo)點(diǎn)擊指定位置,默認(rèn) PRIMARY 鍵
pyautogui.click(10,10,button='left')       # 單擊左鍵
pyautogui.click(1000,300,button='right')   # 單擊右鍵
pyautogui.click(1000,300,button='middle')  # 單擊中鍵


## 為了更方便,下面的函數(shù)包裝了click,不需要傳參 button
pyautogui.leftClick(10,10)		# 單擊左鍵
pyautogui.rightClick(10,10)		# 單擊右鍵
pyautogui.middleClick(10,10)	# 單擊中鍵

# 雙擊鼠標(biāo)
pyautogui.doubleClick(10,10)

# 三擊鼠標(biāo)
pyautogui.tripleClick(10,10)

# 按下 & 釋放
pyautogui.mouseDown()   # 鼠標(biāo)按下
pyautogui.mouseUp()    # 鼠標(biāo)釋放

# 拖動(dòng)鼠標(biāo)
pyautogui.dragTo(x, y) 絕對位置
pyautogui.drag(x, y) 相對位置

# 滾動(dòng)鼠標(biāo) 滾動(dòng)發(fā)生在鼠標(biāo)的當(dāng)前位置。 傳遞正整數(shù)表示向上滾動(dòng), 傳遞負(fù)整數(shù)表示向下滾動(dòng)。
pyautogui.scroll(-100)
pyautogui.hscroll(100)   # 向右滾動(dòng)100
pyautogui.hscroll(-100)   # 向左滾動(dòng)100


# 按鍵操作 press
pyautogui.press('enter', 5)   # 連按5次回車
# 按下 & 釋放
pyautogui.keyDown('A') : 模擬按鍵按下;
pyautogui.keyUp('A') : 模擬按鍵釋放;

pyautogui.keyDown('ctrl')
pyautogui.keyDown('c')
pyautogui.keyUp('c')
pyautogui.keyUp('ctrl')

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

殺死進(jìn)程:

def kill_process(process_name):
    for proc in psutil.process_iter(['pid', 'name']):
        if proc.info['name'] == process_name:
            try:
                proc.kill()
                print(f"Process {process_name} with PID {proc.info['pid']} has been terminated.")
            except psutil.NoSuchProcess:
                print(f"Process {process_name} with PID {proc.info['pid']} no longer exists.")
            except psutil.AccessDenied:
                print(f"Access denied to terminate process {process_name}.")

# 使用
kill_process('AliWorkbench.exe')

獲取所有窗口的名稱:

titles = pyautogui.getAllTitles()
print("titles: ", titles)

顯示窗口:

def make_window_visible(title):
    try:
        # 嘗試連接到已運(yùn)行的應(yīng)用程序
        app = Application(backend="uia").connect(title=title, timeout=10)
        window = app.window(title=title)
        # 確保窗口是可見的并且處于最前面
        if not window.is_active():
            window.set_focus()  # 設(shè)置焦點(diǎn),這通常會(huì)將窗口帶到前臺
        if not window.is_visible():
            window.show()  # 顯示窗口(如果它被最小化或隱藏)
        print(f"Window '{title}' has been made visible and active.")
    except Exception as e:
        print(f"Failed to make window '{title}' visible: {e}")

# make_window_visible('微信')

根據(jù)圖片找元素:

# 這里只返回一個(gè)
def close_dialog():
    try:
        close_icon_center = pyautogui.locateCenterOnScreen('close_icon.png', grayscale=True, confidence=0.9)
        pyautogui.sleep(0.01)
        print("彈框關(guān)閉圖標(biāo)-坐標(biāo):", close_icon_center)
        if close_icon_center:
            pyautogui.leftClick(close_icon_center.x, close_icon_center.y)
            pyautogui.sleep(0.01)
    except pyautogui.ImageNotFoundException as ee:
        print("沒有發(fā)現(xiàn)彈框關(guān)閉圖標(biāo)")
 
 # 多個(gè)的操作
down_select_icon_centers = list(pyautogui.locateAllOnScreen('down_select_icon.png', grayscale=True, confidence=0.9))
print("下拉箭頭長度len:", len(down_select_icon_centers))
pyautogui.leftClick(pyautogui.center(down_select_icon_centers[1]).x, pyautogui.center(down_select_icon_centers[1]).y)

輸入文字:

# 這個(gè)可能會(huì)受到輸入法的影響
pyautogui.write()

def paste_str(str1):
	pyperclip.copy(str1)
	pyautogui.hotkey('ctrl', 'v')
	# pyperclip.copy('') # 重置粘貼板內(nèi)容為空
	# pyperclip.paste() 這是粘貼

打開應(yīng)用:

# 打開
Application().start("D:/Program Files/AliWorkbench/AliWorkbench.exe")
# 顯示
make_window_visible('千牛工作臺')
# 根據(jù)windows窗口名稱獲取窗口,并最大化
chat_window = pyautogui.getWindowsWithTitle('千牛工作臺')[0]
chat_window.maximize()

# win.maximize() # 最大化

# win.minimize() # 最小化

# win.restore() # 如果是最大/小化,則恢復(fù)成正常狀態(tài)

# win.close()

到此這篇關(guān)于Windows自動(dòng)化Python pyautogui RPA操作實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python pyautogui RPA操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • python super函數(shù)使用方法詳解

    python super函數(shù)使用方法詳解

    這篇文章主要介紹了python super函數(shù)使用方法詳解,需要的朋友可以參考下
    2020-02-02
  • Python中self關(guān)鍵字的用法解析

    Python中self關(guān)鍵字的用法解析

    在Python中,self是一個(gè)經(jīng)常出現(xiàn)的關(guān)鍵字,特別是在類定義中的方法,這篇文章主要和大家self的作用和用法,希望可以幫助大家更好地理解為什么需要它以及如何正確使用它
    2023-11-11
  • Android模擬器無法啟動(dòng),報(bào)錯(cuò):Cannot set up guest memory ‘a(chǎn)ndroid_arm’ Invalid argument的解決方法

    Android模擬器無法啟動(dòng),報(bào)錯(cuò):Cannot set up guest memory ‘a(chǎn)ndroid_arm’ I

    這篇文章主要介紹了Android模擬器無法啟動(dòng),報(bào)錯(cuò):Cannot set up guest memory ‘a(chǎn)ndroid_arm’ Invalid argument的解決方法,通過模擬器ram設(shè)置的調(diào)整予以解決,需要的朋友可以參考下
    2016-07-07
  • Python3 io文本及原始流I/O工具用法詳解

    Python3 io文本及原始流I/O工具用法詳解

    這篇文章主要介紹了Python3 io文本及原始流I/O工具用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python基于smtplib協(xié)議實(shí)現(xiàn)發(fā)送郵件

    Python基于smtplib協(xié)議實(shí)現(xiàn)發(fā)送郵件

    這篇文章主要介紹了Python基于smtplib協(xié)議實(shí)現(xiàn)發(fā)送郵件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 實(shí)例介紹Python中整型

    實(shí)例介紹Python中整型

    在本篇內(nèi)容中我們通過實(shí)例分享了關(guān)于Python中整型的相關(guān)知識點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-02-02
  • python訪問類中docstring注釋的實(shí)現(xiàn)方法

    python訪問類中docstring注釋的實(shí)現(xiàn)方法

    這篇文章主要介紹了python訪問類中docstring注釋的實(shí)現(xiàn)方法,涉及python類注釋的訪問技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • Python Flask 搭建微信小程序后臺詳解

    Python Flask 搭建微信小程序后臺詳解

    這篇文章主要介紹了Python Flask 搭建微信小程序后臺,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python開發(fā)sdk模塊的方法

    python開發(fā)sdk模塊的方法

    這篇文章主要介紹了python開發(fā)sdk模塊,通過setup.py將框架安裝到python環(huán)境中,開發(fā)成第三方模塊來,?以此來調(diào)用,增加使用方便及安全高效性,需要的朋友可以參考下
    2022-07-07
  • PyTorch零基礎(chǔ)入門之邏輯斯蒂回歸

    PyTorch零基礎(chǔ)入門之邏輯斯蒂回歸

    PyTorch是一個(gè)開源的Python機(jī)器學(xué)習(xí)庫,基于Torch,用于自然語言處理等應(yīng)用程序,它是一個(gè)可續(xù)計(jì)算包,提供兩個(gè)高級功能:1、具有強(qiáng)大的GPU加速的張量計(jì)算(如NumPy)。2、包含自動(dòng)求導(dǎo)系統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)
    2021-10-10

最新評論