強!推薦一款Python開源自動化指令碼工具:AutoKey!

狂师發表於2024-09-14

1、前言

在數字化時代,自動化工具成為了提升工作效率和生產力的重要手段。Python作為一種廣泛使用的程式語言,以其強大的功能和易用性受到許多開發者的青睞。 而今天給大家推薦一款開源的自動化指令碼工具:AutoKey

結合Python的強大程式設計能力與AutoKey的任務自動化特性,使用者可以高效地完成各種複雜的操作。比如在日常辦公工作中,我們經常會遇到許多重複性的任務,如資料錄入、檔案整理、郵件傳送等。這些任務不僅耗時,而且容易出錯。為了提高工作效率,我們可以利用Python和AutoKey兩款工具,實現辦公自動化。從而釋放雙手,讓計算機為我們做出更多的工作。

2、AutoKey介紹

AutoKey 是一個適用於 Linux 和 X11 系統的開源的桌面自動化工具,能夠根據預設的文字或鍵盤快捷鍵觸發相應的操作,主要用於提高使用者的工作效率。透過結合 Python 指令碼,你可以建立自定義的鍵盤快捷方式、文字替換以及複雜的自動化任務。對於需要經常性輸入固定文字、啟動複雜命令的使用者,AutoKey 提供了非常強大的功能。

3、AutoKey主要功能和適用場景

AutoKey主要可透過熱鍵(快捷鍵)觸發文字、命令、指令碼或複雜的宏來執行任務。

3.1 主要功能

它的核心功能主要包括以下幾個方面:

1、文字輸入自動化:

  • 自動輸入:可以預先錄製或編寫文字序列,然後透過熱鍵觸發這些文字的輸入,從而快速完成重複性文字輸入任務。
  • 替換:自動替換文字中的特定模式或關鍵字,例如,將所有的電子郵件地址替換為連結。
  • 自動更正:在輸入過程中自動更正拼寫錯誤。

2、鍵盤和滑鼠操作自動化:

  • 宏錄製:記錄鍵盤和滑鼠操作,建立可重複使用的宏。
  • 宏執行:透過熱鍵或觸發條件執行宏,實現複雜的操作自動化。
  • 模擬點選:自動執行滑鼠點選操作。

3、命令和指令碼執行:

  • 命令執行:透過熱鍵執行系統命令,如開啟檔案、執行程式等。
  • 指令碼執行:支援多種指令碼語言,如Python、Lua等,可以編寫複雜的自動化指令碼。

4、定時任務:

  • 定時執行:設定特定時間點或時間間隔執行任務,如定時檢查郵件、定時提醒等。

5、系統整合:

  • 系統通知:透過AutoKey傳送系統通知,提醒使用者執行某些操作。
  • 與其他應用整合:可以與其他應用程式如瀏覽器、文字編輯器等整合,擴充套件其功能。

6、跨平臺支援:

  • AutoKey 支援多個作業系統,包括Linux、macOS和Windows,使用者可以在不同的平臺上使用。

7、使用者介面:

  • 圖形使用者介面:AutoKey 提供了一個圖形使用者介面,方便使用者建立和管理自動化任務。
  • 命令列介面:AutoKey 也提供命令列工具,允許使用者透過命令列進行操作。

AutoKey 的核心功能使其成為提高工作效率和減少重複性工作的一種強大工具,尤其適合那些需要頻繁輸入或執行相同操作的使用者。透過AutoKey,使用者可以定製自己的工作流程,從而更加專注於任務的核心內容。

3.2 適用場景

AutoKey 的應用場景非常廣泛,以下是一些典型例子:

  • 重複性操作: 比如填寫表單、複製貼上文字、傳送郵件等,使用 AutoKey 可以自動完成這些任務,節省時間和精力。
  • 自動化操作流程: 比如將網頁上的資料提取到表格中、自動生成報告等,使用 AutoKey 可以將這些流程自動化,提高效率。
  • 遊戲升級輔助: 在遊戲中,可使用 AutoKey自動完成一些重複性的操作,例如刷怪、採集等。
  • 個人日常工作: 透過 AutoKey 可以將一些個人工作流程自動化,例如整理檔案、管理時間、快速搜尋資訊等,提高工作效率。

4、AutoKey安裝、使用

1、安裝

pip3 install autokey

不同安裝方式可參考:https://github.com/autokey/autokey/wiki/Installing

2、以下是一些簡單的 AutoKey 指令碼示例:

# 複製當前視窗的標題到剪貼簿
import autokey

window = autokey.Window.active()
title = window.title()
autokey.Clipboard.set_text(title)

3、假設我們想要自動化登入到一個網站的操作。我們可以透過以下Python程式碼來實現:

# 匯入autokey模組
import autokey

# 定義一個函式來執行登入操作
def login_to_website():
    # 啟動瀏覽器並開啟網站
    autokey.run_command("open -a /Applications/Google Chrome.app https://www.example.com")
    # 等待頁面載入
    autokey.sleep(5)
    # 輸入使用者名稱和密碼
    autokey.type_string("username")
    autokey.press("tab")
    autokey.type_string("password")
    # 按下Enter鍵進行登入
    autokey.press("enter")

# 設定觸發關鍵字
hotkey = autokey.Hotkey()
hotkey.set_keyboard_shortcut("ctrl+shift+l")
hotkey.set_function(login_to_website)

# 儲存指令碼
autokey.script.save()

在這個例子中,我們定義了一個名為login_to_website的函式,它會啟動瀏覽器,開啟指定的網址,輸入使用者名稱和密碼,然後登入。我們為這個函式設定了一個快捷鍵ctrl+shift+l,這樣每當我們在任何地方按下這個快捷鍵組合時,都會觸發這個登入操作。

4、更多官方使用API可查閱:

https://autokey.github.io/index.html

5、小結

透過結合Python的強大功能和AutoKey的自動化特性,我們可以構建出強大的自動化指令碼來解決日常任務。無論是簡單的文字輸入,還是複雜的網頁操作,Python和AutoKey都能提供有效的解決方案。隨著自動化技術的不斷進步,這類技術組合將會在提升工作效率方面發揮更大的作用。

專案地址https://github.com/autokey/autokey

相關文章