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.3.0.tar.gz (50.8 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.3.0-py3-none-any.whl (60.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for autoxkit-2.3.0.tar.gz
Algorithm Hash digest
SHA256 ca76305a6265d52ffe08753fad08db655231c01fe1ee9e38a668a672d9db0ec2
MD5 930a12c82b36e7694cd154612096c9bc
BLAKE2b-256 e1e7d7c90e53504847a76f70be07de7eaedb8588fa4a554b5c945b5ceba8723e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: autoxkit-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 60.1 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 082c0ab1af0ba9a027774bb36a7ee41d8d285bafa1d54cf5577f3837995c4a5b
MD5 38a628d0778eefac06bd8e0c103ee48f
BLAKE2b-256 a21025c63bd5bb872fbe57ba9f1733b11743cb033edb6f1b9c3fbfc4d24005dd

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