Skip to main content

Dailo SDK

代劳的 Android 自动化脚本库。使用 Python 定位文字、控件和图片,执行点击、输入与滑动,并读取画面和脚本设置。

  • 文字、控件、图片和颜色定位。
  • 自动等待目标出现,支持等待操作后的页面变化。
  • 同一帧的文字识别、图片匹配与截图日志。
  • 类型注解和配置模型,支持编辑器补全与源码跳转。

安装

需要 Python 3.11 或更新版本。

python -m pip install dailo-sdk

发行名是 dailo-sdk,Python 导入名是 dailo。自动化脚本在安装了代劳 App 的 Android 设备上执行;在电脑上安装此包可获得类型提示,运行和调试脚本请使用 dailo-devtools。

快速开始

将以下代码保存为 main.py,在代劳中运行:

from dailo import app, text

app("com.android.settings").launch()
print(text())

文字定位可直接执行操作:

from dailo import node, text

text("确定", exact=True).click()
node(resource_id="com.example.app:id/search").fill("搜索内容")

text("确定") 定位包含该文字的行,exact=True 匹配整行。定位器默认等待最多 30 秒;可用 timeout 修改单次等待时限。

等待与页面切换

from dailo import text

text("登录").click(until=text("首页"), timeout=20)
text("加载中").disappear(timeout=10)

click(until=...) 等待目标出现后点击,再等待指定页面。定位器还提供 wait()、is_visible() 和 all()。

读取画面与保存日志

from dailo import log, observe

frame = observe()
print(frame.text())
log("当前画面", image=frame.screenshot)

observe() 固定一份画面,方便在同一帧读取文字、匹配图片或取色。

脚本配置

from dataclasses import dataclass
from dailo import get_config


@dataclass
class Settings:
    rounds: int = 5


settings = get_config(Settings)
print(settings.rounds)

配置来自代劳任务的设置界面;dataclass 提供默认值与类型提示。

常用 API

API 用途
app(package_name) 启动、停止和查询 Android 应用
text(pattern) 定位文字;不传参数时读取当前画面文字
node(**attributes) 按 Android 控件属性定位
image(path) 用本地图片模板定位
color_at(x, y) 读取指定坐标的 RGB
observe() 读取同一帧的文字、图片和像素
wait_until(condition) 等待自定义条件成立
get_config(schema) 读取任务设置
stage(message) / log(message) 显示进度和保存日志

许可

MIT。

Metadata

Release files for dailo-sdk 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dailo-sdk 0.1.1
File Size Uploaded
dailo_sdk-0.1.1.tar.gz 13.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dailo-sdk 0.1.1
File Interpreter ABI Platform
dailo_sdk-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 28.6 kB

Release files / dailo_sdk-0.1.1.tar.gz

Download URL dailo_sdk-0.1.1.tar.gz
Size 13.0 kB
Tags Source
SHA-256 checksum
How to use checksums
76a4f83b111e2a1daea6790445cbb7f62be810a2344e96c8899716634e691ad4
BLAKE2b-256 checksum
How to use checksums
3aa8b2573d5b65f80121d2231e327fb5f348e314ffa8ee4dfa9a159ae3203699
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / dailo_sdk-0.1.1-py3-none-any.whl

Download URL dailo_sdk-0.1.1-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bc53697ba48fcad1868fd3a8e30a79eb5d7ca0980db10ef0059f0db990da6d58
BLAKE2b-256 checksum
How to use checksums
dbd1ebb2d4140c70d47f9312d8f4cc673dacd83c58a54f91ca7f0e1e3b0dd562
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page