概述

tencentai接口主要时利用腾讯OCR引擎对文件、窗口、图片等元素进行内容识别并返回识别结果的

详情


ocr_from_file

识别文件内容

ocr_from_file(self, image_path)
参数:

  • image_path:需要被识别的文件路径

返回值:

  • typing.List[str]:返回文件识别内容的列表

示例1:
识别文件 D:\123.png 的内容

  1. from xbot import ai
  2. def main(args):
  3. ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
  4. value = ocr.ocr_from_file('D:\\123.png')

ocr_from_window

识别窗口内容

ocr_from_window(self, hwnd, region=None)
参数:

  • hwnd:窗口句柄, 等于0时则识别当前选中(激活)的窗口
  • region:需要识别的窗口区域列表, 默认为None识别整个窗口
    • ‘region[0]’:选中区域的左侧横坐标
    • ‘region[1]’:选中区域的左侧纵坐标
    • ‘region[2]’:选中区域的右侧横坐标
    • ‘region[3]’:选中区域的右侧纵坐标

返回值:

  • typing.List[str]: 返回窗口识别内容的列表

示例1:
识别句柄为 0x10412c 窗口的内容

  1. from xbot import ai
  2. def main(args):
  3. ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
  4. value = ocr.ocr_from_window(0x10412c, None)

示例2:
识别句柄为 0x10412c 窗口指定区域的内容

  1. from xbot import ai
  2. def main(args):
  3. ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
  4. value = ocr.ocr_from_window(0x10412c, [100, 100, 200, 200])

ocr_from_screen

识别屏幕内容

ocr_from_screen(self, region=None)
参数:

  • region:需要识别的屏幕区域列表,默认为None识别整个屏幕
    • ‘region[0]’:选中区域的左侧横坐标
    • ‘region[1]’:选中区域的左侧纵坐标
    • ‘region[2]’:选中区域的右侧横坐标
    • ‘region[3]’:选中区域的右侧纵坐标

返回值:

  • typing.List[str]:返回屏幕识别内容的列表

示例1:
对屏幕指定区域进行截图并识别

  1. from xbot import ai
  2. def main(args):
  3. ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
  4. value = ocr.ocr_from_screen([100, 100, 200, 200])

ocr_from_clipboard_image

识别指定区域内容, 并将识别结果添加到剪切板中

ocr_from_clipboard_image(self)
参数:

返回值:

  • typing.List[str]:返回剪切板中图片识别内容的列表

示例1:
识别剪切板中的图片,并返回识别结果列表

  1. from xbot import ai
  2. def main(args):
  3. ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
  4. ocr.ocr_from_clipboard_image()

hover_on_text_in_screen

鼠标悬浮在屏幕指定的文本上

hover_on_text_in_screen(self, target_text, delay_after=1, anchor=None, occurrence=1)
参数:

  • target_text:待查找的文本
  • delay_after:执行成功后延迟时间, 默认延迟1s
  • anchor:锚点,鼠标点击元素的位置以及偏移量元组,可为 None,默认值为 None,None 时默认点击目标中心且无偏移量,参数结构如下:
    • sudoku_part:鼠标悬停的位置, 默认悬停在中心
      • ‘topLeft’:悬停左上角
      • ‘topCenter’:悬停在上中部
      • ‘topRight’:悬停在右上角
      • ‘middleLeft’:悬停在左中部
      • ‘middleCenter’:悬停在中心
      • ‘middleRight’:悬停在右中部
      • ‘bottomLeft’:悬停左下角
      • ‘bottomCenter’:悬停在下中部
      • ‘bottomRight’:悬停在右下角
    • offset_x:鼠标位置的水平偏移量
    • offset_y’:鼠标位置的垂直偏移量
  • occurrence:如果识别到多个结果, 可以指定位置序号,从1开始。排序规则先从左向右,再从上至下

返回值:

示例1:
将鼠标悬浮在屏幕的指定文本‘123’上

  1. from xbot import ai
  2. def main(args):
  3. ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
  4. ocr.hover_on_text_in_screen('123')

hover_on_text_in_window

鼠标悬浮在窗口指定的文本上

hover_on_text_in_window(self, hwnd, target_text, delay_after=1, anchor=None, occurrence=1)
参数:

  • hwnd:指定的窗口对象
  • target_text:待查找的文本
  • delay_after:执行成功后延迟时间, 默认延迟1s
  • anchor:锚点,鼠标点击元素的位置以及偏移量元组,可为 None,默认值为 None,None 时默认点击目标中心且无偏移量,参数结构如下:
    • sudoku_part:鼠标悬停的位置, 默认悬停在中心
      • ‘topLeft’:悬停左上角
      • ‘topCenter’:悬停在上中部
      • ‘topRight’:悬停在右上角
      • ‘middleLeft’:悬停在左中部
      • ‘middleCenter’:悬停在中心
      • ‘middleRight’:悬停在右中部
      • ‘bottomLeft’:悬停左下角
      • ‘bottomCenter’:悬停在下中部
      • ‘bottomRight’:悬停在右下角
    • offset_x:鼠标位置的水平偏移量
    • offset_y’:鼠标位置的垂直偏移量
  • occurrence:如果识别到多个结果, 可以指定位置序号,从1开始。排序规则先从左向右,再从上至下

返回值:

示例1:
将鼠标悬浮在当前激活窗口的指定文本‘123’上

  1. from xbot import ai, win32
  2. def main(args):
  3. hwnd = win32.get(title='无标题 - 记事本')
  4. ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
  5. ocr.hover_on_text_in_window(hwnd, '123')

click_text_in_screen

鼠标点击屏幕上指定的文本

click_text_in_screen(self, target_text, button=’left’, click_type=’click’, keys=’none’, delay_after=1, move_mouse=True, anchor=None, occurrence=1)
参数:

  • target_text:待查找的文本
  • button:点击时的具体鼠标按键,如鼠标左、右键等,默认是左键
    • ‘left’:鼠标左键
    • ‘right’:鼠标右键
  • click_type:鼠标按键的点击方式, 如单击、双击等, 默认为单击
    • ‘click’:鼠标单击
    • ‘dbclick’:鼠标双击
    • ‘down’:鼠标按键按下
    • ‘up’:鼠标按键弹起
  • keys:单击网页元素时的键盘辅助按钮, 如Alt键、Ctrl键等,可以为空默认值为空
    • ‘none’:不需要键盘辅助按钮
    • ‘ctrl’:使用ctrl键作为辅助按钮
    • ‘shift’:使用shift键作为辅助按钮
    • ‘win’:使用win(窗口)键作为辅助按钮
  • delay_after:执行成功后延迟时间, 默认延迟1s
  • move_mouse:是否显示鼠标移动轨迹, 默认为True,显示鼠标移动轨迹
  • anchor:锚点,鼠标点击元素的位置以及偏移量元组,可为 None,默认值为 None,None 时默认点击目标中心且无偏移量,参数结构如下:
    • sudoku_part:鼠标悬停的位置, 默认悬停在中心
      • ‘topLeft’:悬停左上角
      • ‘topCenter’:悬停在上中部
      • ‘topRight’:悬停在右上角
      • ‘middleLeft’:悬停在左中部
      • ‘middleCenter’:悬停在中心
      • ‘middleRight’:悬停在右中部
      • ‘bottomLeft’:悬停左下角
      • ‘bottomCenter’:悬停在下中部
      • ‘bottomRight’:悬停在右下角
    • offset_x:鼠标位置的水平偏移量
    • offset_y’:鼠标位置的垂直偏移量
  • occurrence:如果识别到多个结果, 可以指定位置序号,从1开始。排序规则先从左向右,再从上至下

返回值:

示例1:
在屏幕中,鼠标左键单击指定文本“123”所在的位置

  1. from xbot import ai
  2. def main(args):
  3. ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
  4. ocr.click_text_in_screen('123')


click_text_in_window

鼠标点击屏幕上指定的文本

click_text_in_window(self, hwnd, target_text, button=’left’, click_type=’click’, keys=’none’, delay_after=1, move_mouse=True, anchor=None, occurrence=1)
参数:

  • hwnd:当前激活的窗口
  • target_text:待查找的文本
  • button:点击时的具体鼠标按键,如鼠标左、右键等,默认是左键
    • ‘left’:鼠标左键
    • ‘right’:鼠标右键
  • click_type:鼠标按键的点击方式, 如单击、双击等, 默认为单击
    • ‘click’:鼠标单击
    • ‘dbclick’:鼠标双击
    • ‘down’:鼠标按键按下
    • ‘up’:鼠标按键弹起
  • keys:单击网页元素时的键盘辅助按钮, 如Alt键、Ctrl键等,可以为空默认值为空
    • ‘none’:不需要键盘辅助按钮
    • ‘ctrl’:使用ctrl键作为辅助按钮
    • ‘shift’:使用shift键作为辅助按钮
    • ‘win’:使用win(窗口)键作为辅助按钮
  • delay_after:执行成功后延迟时间, 默认延迟1s
  • move_mouse:是否显示鼠标移动轨迹, 默认为True,显示鼠标移动轨迹
  • anchor:锚点,鼠标点击元素的位置以及偏移量元组,可为 None,默认值为 None,None 时默认点击目标中心且无偏移量,参数结构如下:
    • sudoku_part:鼠标悬停的位置, 默认悬停在中心
      • ‘topLeft’:悬停左上角
      • ‘topCenter’:悬停在上中部
      • ‘topRight’:悬停在右上角
      • ‘middleLeft’:悬停在左中部
      • ‘middleCenter’:悬停在中心
      • ‘middleRight’:悬停在右中部
      • ‘bottomLeft’:悬停左下角
      • ‘bottomCenter’:悬停在下中部
      • ‘bottomRight’:悬停在右下角
    • offset_x:鼠标位置的水平偏移量
    • offset_y’:鼠标位置的垂直偏移量
  • occurrence:如果识别到多个结果, 可以指定位置序号,从1开始。排序规则先从左向右,再从上至下

返回值:

示例1:
在当前激活窗口中,鼠标左键单击指定文本“123”所在的位置

  1. from xbot import ai
  2. def main(args):
  3. hwnd = win32.get(title='无标题 - 记事本')
  4. ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
  5. ocr.click_text_in_screen(hwnd, '123')