Skip to main content

全局函数 T

T.jobRegister

注册任务

参数类型默认说明
funccallable函数
cronjobstring执行计划
enablebool是否启用
# 注册 unnamed 函数,并循环执行,并启用
def unnamed(ctx):
T.log("hello world")

T.jobRegister(unnamed, cronjob="*", enable=True)

T.sleep

停顿等待

参数类型默认说明
secondsfloat单位秒
sigmafloat0.1

随机区间

  • 0.1代表原值的±10%
  • 相对百分比区间,分布 3σ。见下图
  • 偏移通常不会影响脚本结果,但能有效防检测

    Details

    分布示意图

    # 等 0.9~1.1 秒
    T.sleep(1)
    # 等 2 秒
    T.sleep(2, sigma=0)
    # 等 8~12 秒
    T.sleep(seconds=10, sigma=0.2)

    T.click

    点击

    参数类型默认说明
    xint为横向偏移左至右计算
    yint为纵向偏移上至下计算
    unit
  • px 像素
  • % 百分比
  • px单位
    sigmatuple[int](3, 3)

    随机偏移,分别在 x, y 基础上 rand(-3, -2, -1, 0, 1, 2, 3)

  • (0, 0)时,不偏移
  • 当前主流设备分辨率至少1080px,即使±10px,也不足1%误差
  • 偏移通常不会影响点击结果,但能有效防检测

    单位为 % 时,xy 取值范围:(0, 100)。使用 %,能避免获取像素的复杂

    # 快捷的
    T.click(111, 222)
    # 随机偏移 (5~15, 15~25)
    T.click(10, 20, sigma=(5, 5))
    # 像素
    T.click(111, 222, unit="px")
    # 百分百
    T.click(33, 44, unit="%")
    # 完整的
    T.click(x=33, y=44, unit="%")

    T.clickByImg

    点击图片

    参数类型默认说明
    srcstring图片文件名,图片保存在脚本文件目录下,为文件别名
    cropdictNone

    指定范围

  • "unit": "%"
  • "x": 10 指从左10%开始
  • "y": 10 指从上10%开始
  • "width": 30 指宽度30%
  • "height": 40 指高度40%
  • 表示为:从左10%到40%,从上10%到50%范围内

    offsetdictNone

    相对偏移,当击点不在目标中心时,进行微调

  • {"x": -10, "y": 10} 表示在击点,左下方
  • sigmadictNone随机偏移,同 T.click / sigma
    # 快捷的
    T.clickByImg("test.png")
    T.clickByImg(src="test.png")
    # 限制范围的
    T.clickByImg(src="test.png", crop={"unit": "%", "x": 10, "y": 10, "width": 30, "height": 40})
    # 偏移的
    T.clickByImg(src="test.png", offset={"x": -10, "y": 10})

    T.clickByText

    点击文字

    参数类型默认说明
    searchstring
  • 默认局部,即一段字里有包含该字符串的就行
  • "^百度" 必须以百度开头
  • "一下$" 必须以一下结尾
  • "我.你" 点表示任意字符,能匹配:我爱你,我恨你,我x你
  • cropdictNone搜索区域,同 T.clickByImg / corp
    offsetdictNone相对偏移,同 T.clickByImg / offset
    sigmadictNone随机偏移,同 T.click / sigma
    # 快捷的
    T.clickByText("鱼")
    T.clickByText(search="鱼")
    T.clickByText(search="我.你")
    # 限制范围的
    T.clickByText(search="鱼", crop={"unit": "%", "x": 0, "y": 0, "width": 20, "height": 30})

    T.drag

    拖拽

    参数类型默认说明
    pointsList[tuple]
  • 一组点,至少2个点,才能形成线
  • 2个时为,起点 + 终点
  • unit
  • px 像素
  • % 百分比
  • px单位
    durationfloat0.5整体用时,秒
    # 0.5秒 横着拖一小点
    x, y = random.randint(20, 60), random.randint(20, 60)
    T.drag([(x, y), (x + 5, y + 1)], unit="%", duration=0.5)

    # 2秒 画个 正方形
    T.drag(
    [
    (x, y),
    (x + 100, y),
    (x + 100, y + 100),
    (x, y + 100),
    (x, y),
    ],
    unit="px",
    duration=2,
    )

    # 2秒 画个 三角形
    T.drag(
    [
    (x, y),
    (x + 100, y + 100),
    (x - 50, y + 150),
    (x, y),
    ],
    unit="px",
    duration=2,
    )

    T.key

    键入

    参数类型默认说明
    textstring键盘上的按键,可以组合,并多个
    gapfloat0.05停顿时间,用于防检测
    # 输入 q
    T.key("q")
    # 依次输入 q w e r
    T.key("q", "w", "e", "r")
    # 每0.5秒,依次输入 q w e r
    T.key("q", "w", "e", "r", gap=0.5)

    T.input

    输入一段字

    参数类型默认说明
    textstring复制粘贴一段字
    # 直接输入一段字
    T.input("床前明月光")