概述
aliyunai接口主要时利用阿里云OCR引擎对文件、窗口、图片等元素进行内容识别并返回识别结果的
详情
ocr_from_file
识别文件内容
ocr_from_file(self, image_path)
参数:
- image_path:需要被识别的文件路径
返回值:
- typing.List[str]:返回文件识别内容的列表
示例1:
识别文件 D:\123.png 的内容
from xbot import ai
def main(args):
ocr = ai.aliyun.AliyunAI(app_code='xxx')
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 窗口的内容
from xbot import ai
def main(args):
ocr = ai.aliyun.AliyunAI(app_code='xxx')
value = ocr.ocr_from_window(0x10412c, None)
示例2:
识别句柄为 0x10412c 窗口指定区域的内容
from xbot import ai
def main(args):
ocr = ai.aliyun.AliyunAI(app_code='xxx')
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:
对屏幕指定区域进行截图并识别
from xbot import ai
def main(args):
ocr = ai.aliyun.AliyunAI(app_code='xxx')
value = ocr.ocr_from_screen([100, 100, 200, 200])
ocr_from_clipboard_image
识别指定区域内容, 并将识别结果添加到剪切板中
ocr_from_clipboard_image(self)
参数:
- 无
返回值:
- typing.List[str]:返回剪切板中图片识别内容的列表
示例1:
识别剪切板中的图片,并返回识别的结果列表
from xbot import ai
def main(args):
ocr = ai.aliyun.AliyunAI(app_code='xxx')
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’:鼠标位置的垂直偏移量
- sudoku_part:鼠标悬停的位置, 默认悬停在中心
- occurrence:如果识别到多个结果, 可以指定位置序号,从1开始。排序规则先从左向右,再从上至下
返回值:
- 无
示例1:
将鼠标悬浮在屏幕的指定文本‘123’上
from xbot import ai
def main(args):
ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
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’:鼠标位置的垂直偏移量
- sudoku_part:鼠标悬停的位置, 默认悬停在中心
- occurrence:如果识别到多个结果, 可以指定位置序号,从1开始。排序规则先从左向右,再从上至下
返回值:
- 无
示例1:
将鼠标悬浮在当前激活窗口的指定文本‘123’上
from xbot import ai, win32
def main(args):
hwnd = win32.get(title='无标题 - 记事本')
ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
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’:鼠标位置的垂直偏移量
- sudoku_part:鼠标悬停的位置, 默认悬停在中心
- occurrence:如果识别到多个结果, 可以指定位置序号,从1开始。排序规则先从左向右,再从上至下
返回值:
- 无
示例1:
在屏幕中,鼠标左键单击指定文本“123”所在的位置
from xbot import ai
def main(args):
ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
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’:鼠标位置的垂直偏移量
- sudoku_part:鼠标悬停的位置, 默认悬停在中心
- occurrence:如果识别到多个结果, 可以指定位置序号,从1开始。排序规则先从左向右,再从上至下
返回值:
- 无
示例1:
在当前激活窗口中,鼠标左键单击指定文本“123”所在的位置
from xbot import ai
def main(args):
hwnd = win32.get(title='无标题 - 记事本')
ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
ocr.click_text_in_screen(hwnd, '123')