Skip to main content

xbot-api

影刀RPA平台的Python自动化开发技能。当用户需要开发影刀xbot自动化脚本、使用xbot API进行网页/桌面/移动端自动化、Excel/Word操作、数据库操作、AI集成、PDF处理等功能时使用此技能。

설치로 이동

소스 정보

저장소
cicbyte/xbot-api-skill
최근 소스 활동
2026년 2월 19일 10:23
감지된 SKILL.md 언어
중국어
스타
1
포크
2

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
xbot-api
description
影刀RPA平台的Python自动化开发技能。当用户需要开发影刀xbot自动化脚本、使用xbot API进行网页/桌面/移动端自动化、Excel/Word操作、数据库操作、AI集成、PDF处理等功能时使用此技能。
# 影刀XBot API 开发技能 ## 概述 影刀XBot是一个企业级RPA(机器人流程自动化)平台,提供Python API用于开发自动化脚本。此技能涵盖了xbot的核心API使用方法、代码模板和最佳实践。 **何时使用此技能:** - 开发影刀xbot自动化流程脚本 - 使用xbot API进行网页自动化(xbot.web) - Windows桌面应用自动化(xbot.win32) - 移动端自动化(xbot.mobile) - Excel/Word文档操作(xbot.excel、xbot.word) - 数据库操作(xbot.ado) - AI能力集成(xbot.ai - 阿里云/百度/腾讯) - PDF文件处理(xbot.pdf) - FTP文件传输(xbot.ftp) ## 代码模板规范 ### 基础模板结构 影刀xbot模块必须遵循以下格式: ```python # 使用提醒: # 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能 # 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能 # 3. 当此模块作为流程独立运行时执行main函数 # 4. 可视化流程中可以通过"调用模块"的指令使用此模块 import xbot from xbot import print, sleep from .import package from .package import variables as glv def main(args): # 在此编写自动化逻辑 pass ``` **重要约束:** - ❌ 不使用 `if __name__ == "__main__":` - ✅ 必须使用 `def main(args):` 作为入口函数 - ✅ 必须导入 `xbot` 和 `package` 模块 ## 核心API模块 ### 1. package - 元素与资源管理 #### 元素选择器 ```python # 获取元素库中的元素 selector = package.selector('元素名称') # 获取图像库中的图像 image_selector = package.image_selector('图像名称') ``` #### 资源文件操作 ```python # 读取文本资源 text = package.resources.get_text('data.txt', encoding='utf-8') # 读取二进制资源 data = package.resources.get_bytes('image.png') # 复制资源文件到本地 package.resources.copy_to('template.xlsx', 'D:\\output.xlsx') # 添加资源文件到剪切板 package.resources.add_to_clipboard(['file1.txt', 'file2.xml']) ``` ### 2. xbot.web - 网页自动化 #### 浏览器操作 ```python # 创建并打开网页 browser = xbot.web.create('https://example.com', mode='cef') # 获取已打开的网页 browser = xbot.web.get(title='百度一下', url='baidu.com') browser = xbot.web.get_active() # 获取当前激活的网页 # 获取所有匹配的网页 browsers = xbot.web.get_all(url='example.com') # 关闭所有网页 xbot.web.close_all() ``` #### 网页导航 ```python # 跳转 browser.navigate('https://newurl.com') # 后退/前进 browser.go_back() browser.go_forward() # 刷新 browser.reload(ignore_cache=True) # 获取信息 url = browser.get_url() title = browser.get_title() html = browser.get_html() text = browser.get_text() ``` #### 元素操作 ```python # 查找元素 element = browser.find(package.selector('登录按钮')) elements = browser.find_all_by_css('input[type="text"]') # 元素交互 element.click(button='left', simulative=True) element.input('username', simulative=True, append=False) element.hover() # 获取元素信息 text = element.get_text() value = element.get_value() attr = element.get_attribute('href') # 下拉框操作 element.select('选项内容', mode='fuzzy') element.select_by_index(0) ``` #### Cookie管理 ```python # 获取Cookie cookies = xbot.web.get_cookies(mode='cef', domain='.example.com') # 设置Cookie xbot.web.set_cookie( url='https://example.com', name='session_id', value='abc123', expires=3600 ) # 移除Cookie xbot.web.remove_cookie('https://example.com', 'session_id') ``` #### 对话框处理 ```python # 处理JavaScript对话框 browser.handle_javascript_dialog(dialog_result='ok', text='输入内容') # 处理下载对话框 xbot.web.handle_save_dialog( file_folder='D:\\downloads', file_name='report.pdf' ) # 处理上传对话框 xbot.web.handle_upload_dialog('D:\\files\\upload.pdf') ``` ### 3. xbot.win32 - Windows桌面自动化 #### 窗口操作 ```python # 获取窗口 window = xbot.win32.get(title='记事本', class_name='Notepad') window = xbot.win32.get_by_selector(package.selector('窗口元素')) # 窗口控制 window.activate() # 激活 window.set_state('maximize') # 最大化/最小化/正常 window.move(x=100, y=100) # 移动 window.resize(width=800, height=600) # 调整大小 window.close() # 关闭 # 等待窗口状态 window.wait_active(timeout=20) window.wait_exists(timeout=20) window.wait_close(timeout=20) ``` #### 元素操作 ```python # 查找元素 element = window.find(package.selector('按钮元素')) elements = window.find_all(package.selector('列表项')) # 元素交互 element.click(button='left', simulative=True) element.input('输入内容') element.check(mode='check') # 复选框 element.select('选项') # 下拉框 element.hover() # 拖拽 element.drag_to(simulative=True, top=50, left=100, delay_after=1) ``` #### 鼠标键盘操作 ```python # 鼠标操作 xbot.win32.mouse_move(500, 300, move_speed='fast') xbot.win32.mouse_click(button='left', click_type='click') xbot.win32.mouse_wheel(wheel_direction='down', wheel_times=3) # 键盘操作 xbot.win32.send_keys('Ctrl+C') xbot.win32.send_keys('Hello World') # 获取鼠标位置 pos = xbot.win32.get_mouse_position(relative_to='screen') ``` #### 图像识别 ```python # 等待图像出现 xbot.win32.Image.wait_appear( image_selectors=[package.image_selector('确认按钮')], timeout=20 ) # 点击图像 xbot.win32.Image.click( image_selectors=[package.image_selector('图标')], button='left' ) # 图像悬停 xbot.win32.Image.hover([package.image_selector('菜单')]) ``` #### 剪切板操作 ```python clipboard = xbot.win32.Clipboard # 设置/获取文本 clipboard.set_text('复制的内容') text = clipboard.get_text() # 清空剪切板 clipboard.clear() # 设置文件 clipboard.set_file(['D:\\file1.txt', 'D:\\file2.pdf']) ``` #### 截图操作 ```python # 屏幕截图 xbot.win32.Screenshot.save_screen_to_file( 'D:\\screenshot.png', image_format='png' ) xbot.win32.Screenshot.save_screen_to_clipboard() # 窗口截图 xbot.win32.Screenshot.save_window_to_file( hwnd=window.handle, image_path='D:\\window.png', image_format='png' ) ``` ### 4. xbot.excel - Excel操作 #### 工作簿操作 ```python # 创建Excel workbook = xbot.excel.create(kind='office', visible=True) # 打开Excel workbook = xbot.excel.open('D:\\data.xlsx', kind='office', visible=True) # 获取活动工作簿 workbook = xbot.excel.get_active_workbook(kind='office') # 保存/另存 workbook.save() workbook.save_as('D:\\output.xlsx') # 关闭 workbook.close() ``` #### 工作表操作 ```python # 获取工作表 sheet = workbook.get_active_sheet() sheet = workbook.get_sheet_by_name('Sheet1') sheet = workbook.get_sheet_by_index(1) # 创建工作表 workbook.create_sheet('新工作表', create_way='last') # 激活工作表 workbook.active_sheet_by_name('Sheet1') # 删除/复制/重命名 workbook.delete_sheet('旧工作表') workbook.copy_sheet('源工作表', '目标工作表') workbook.rename_sheet('旧名称', '新名称') ``` #### 单元格操作 ```python # 读取单元格 value = sheet.get_cell(1, 'A') # 行号,列名 row = sheet.get_row(1) # 获取整行 column = sheet.get_column('A') # 获取整列 range_data = sheet.get_range(1, 'A', 5, 'C') # 区域数据 # 写入单元格 sheet.set_cell(1, 'A', '标题') sheet.set_row(1, ['A', 'B', 'C'], begin_column_name='A') sheet.set_column('A', [1, 2, 3, 4], begin_row_num=1) sheet.set_range(1, 'A', [[1, 2], [3, 4]]) # 二维数组 # 追加/插入行 sheet.append_row(['新', '数', '据']) sheet.insert_row(3, ['插入', '数据']) # 删除行列 sheet.remove_row(5) sheet.remove_column('C') # 清空 sheet.clear() sheet.clear_range(1, 'A', 10, 'Z') ``` #### 其他功能 ```python # 获取行列数 row_count = sheet.get_row_count() col_count = sheet.get_column_count() # 获取第一个空闲行/列 free_row = sheet.get_first_free_row() free_col = sheet.get_first_free_column() # 选中区域 sheet.select_range(1, 'A', 10, 'C') # 复制粘贴 sheet.copy_range(1, 'A', 5, 'C') sheet.paste_range(1, 'D') ``` ### 5. xbot.word - Word操作 #### 文档操作 ```python # 创建Word doc = xbot.word.create(kind='office', visible=True) # 打开Word doc = xbot.word.open( 'D:\\document.docx', kind='office', visible=True, open_password='', edit_password='' ) # 保存/另存 doc.save() doc.save_as('D:\\output.docx') # 导出PDF doc.export_to_pdf( 'D:\\output.pdf', export_range=0, # 0=全部, 1=当前页, 2=指定范围 page_from=1, page_to=5 ) # 关闭 doc.close() ``` #### 内容操作 ```python # 获取选择区域 selection = doc.get_selection() # 写入文本 selection.write_text('Hello World', newline=True) # 读取文本 text = selection.read_text() # 插入图片 selection.insert_picture( image_source='local', # local/file_url/clipboard image_path='D:\\image.png', image_scale=100, # 缩放百分比 newline=True ) # 插入超链接 doc.insert_hyperlink('点击这里', 'https://example.com') # 插入表格 doc.insert_table( table_data=[['A', 'B'], ['1', '2']], table_data_format=None, grid=True, newline=True ) # 替换文本 selection.replace_text( search_text='旧文本', replace_text='新文本', replace_all=True, case_sensitive=False ) # 移动光标 selection.move_cursor(
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기