Skip to main content

Python library for Windows automation and Android device screen casting and control

Project description

autoxkit

PyPI version Python Version License

一个轻量级的 python 自动化库,支持 Windows 前后台键鼠操作、图像识别、全局 hook 监听等,Android 模块基于 scrcpy-server v4.0 协议支持 Android 无线/有线投屏、键鼠映射等功能。 适用于自动化脚本、软件测试、人机交互等多种场景。


功能特色

  • 前后台键鼠操作
  • 前后台图像识别
  • 文本输入模拟
  • 全局键鼠 hook 监听
  • Android 无线/有线投屏
  • Android 键鼠映射

Android 模块依赖于 scrcpy v4.0 ,请自行前往 scrcpy v4.0 下载 scrcpy-win64-v4.0.zip 文件。


安装方式

从 PyPI 安装:

pip install autoxkit

或下载源码后本地安装:

pip install .

示例代码

"""
return Any or not return 只监听事件,不阻止事件传播

return True 监听事件,并阻止事件传播,可以理解为下一个窗口不会收到该事件
"""

from autoxkit.hook import HookListener, KeyEvent, MouseEvent

def key_down(event: KeyEvent):
    print(event.action, event.key_code, event.key_name)
    if event.key_name == 'A':
        print("A键将被阻止传播,其他窗口将无法接收到该事件")
        return True
    return False

def key_up(event: KeyEvent):
    print(event.action, event.key_code, event.key_name)
    return False

def mouse_down(event: MouseEvent):
    print(event.action, event.button, event.position)
    return False

def mouse_up(event: MouseEvent):
    print(event.action, event.button, event.position)
    return False


def mouse_move(event: MouseEvent):
    print(event.action, event.button, event.position)
    return False


hook_listener = HookListener()
hook_listener.add_handler('keydown', key_down)
hook_listener.add_handler('keyup', key_up)
hook_listener.add_handler('mousedown', mouse_down)
hook_listener.add_handler('mouseup', mouse_up)
hook_listener.add_handler('mousemove', mouse_move)
hook_listener.start()

print("当前鼠标位置:", hook_listener.get_mouse_position())

if __name__ == '__main__':
    try:
        hook_listener.wait()
    except Exception:
        hook_listener.stop()

更多示例代码请参考 examples


GitHub 项目地址

https://github.com/YorickFin/autoxkit


License

本项目基于 GPL-3.0 许可开源,欢迎使用与二次开发。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autoxkit-2.4.1.tar.gz (51.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autoxkit-2.4.1-py3-none-any.whl (60.3 kB view details)

Uploaded Python 3

File details

Details for the file autoxkit-2.4.1.tar.gz.

File metadata

  • Download URL: autoxkit-2.4.1.tar.gz
  • Upload date:
  • Size: 51.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for autoxkit-2.4.1.tar.gz
Algorithm Hash digest
SHA256 ef08c926ed1c05ff9ab1d20cea913aa097ff2dc11c8c2c95544f3f85ec4d4f01
MD5 2cc4c1fff4464cb82f1f94491f27afc2
BLAKE2b-256 acb0a0f294c3d5aa4e186338a955f3bf7a955bd1387685e97bad3a148badf4c3

See more details on using hashes here.

File details

Details for the file autoxkit-2.4.1-py3-none-any.whl.

File metadata

  • Download URL: autoxkit-2.4.1-py3-none-any.whl
  • Upload date:
  • Size: 60.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for autoxkit-2.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6917b2d5d6cfe7a5070d748745a80907001d5c0c568c5b597c1d4a25ec1557e7
MD5 d7fb43f61b5412baf3fcc4cbd3178fee
BLAKE2b-256 236bfcb1638659b4b34bcecf3fe3c999db3f617ea3a57bd2fab6afe4dd523958

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page