全部产品
云市场

rpa3.java

更新时间:2019-09-18 15:39:20

目录

java

在3.4.3及以上版本中我们提供了对java框架实现的Windows控件的录制能力

要使用java模块,需要使用rpa.win32

java模块是用来向用户提供一系列操作Windows控件的SDK,让用户通过简单的参数和方法调用来实现一些复杂的操作。

catch

catch(title, *, mode=’start’, process_name: str = None, class_name: str = None, timeout=10)
根据标题捕获窗口对象,复制窗口进程名和窗口类名可增加匹配效率和准确率,如果匹配到多个窗口会报错,返回Window对象

  • title : 窗口标题
  • process_name : 进程名称
  • class_name :窗口类名
  • mode : 窗口匹配模式 ‘start’|’subStr’|’exact’|’reg’
  • timeout : 超时时间

start:以指定title开始的窗体subStr:包含指定title的窗体exact:完全匹配指定title的窗体reg:title正则匹配指定title的窗体

studio中已将rpa3重命名为rpa方便使用

  1. import rpa3 as rpa # 使用V3引擎
  2. #捕捉窗口名为xx的窗口
  3. java_obj = rpa.win32.catch('xx')

get_element

get_element(element, *, index=1, parent_element=None,timeout=10)

  • element : 控件
  • index : 如果有多个,给出控件下标
  • parent_elemet : 父控件对象
  • timeout: 等待控件超时时间

获取控件对象
返回控件对象

  1. import rpa3 as rpa # 使用V3引擎
  2. #捕捉窗口名为xx的窗口
  3. result = rpa.java.get_element('xx')

element_count

element_count(element, *, parent_element=None, timeout=10)

  • element : 控件名称
  • parent_elemet : 父控件对象
  • timeout : 超时时间 单位秒

获取控件个数

  1. result = rpa.java.element_count('按钮')

wait

wait(element, *, index=1, timeout=10)

  • element : 控件名称
  • index : 如果有多个,给出控件下标
  • timeout : 超时时间 单位秒

等待加载控件,成功返回True,失败返回False

  1. ret = rpa.java.wait("news", timeout=10)
  2. if ret:
  3. print('找到元素')
  4. else:
  5. print('未找到元素')

input

input(element, value, *, index=1, simulate=True, parent_element=None, sendWindowMessage=False,replace=False,timeout=10)

  • element : 控件名称
  • value : 输入的内容
  • index : 如果有多个,给出控件下标
  • simulate : 是否模拟输入
  • parent_elemet : 父控件对象
  • timeout : 超时时间 单位秒
  • sendWindowMessage : 是否发送窗口提示信息
  • replace : 是否替换输入内容

输入

  1. rpa.java.input('输入框','AAA')

click

click(element, *, index=1, simulate=True, parent_element=None, timeout=10)

  • element : 控件名称
  • index : 如果有多个,给出控件下标
  • offsetX : 横向偏移量
  • offsetY : 纵向偏移量
  • parent_element : 父控件对象
  • button: ‘left’|’right’ 左键或右键
  • simulate : 是否模拟点击
  • timeout : 等待控件超时时间

点击控件

  1. #左键点击
  2. rpa.java.click("控件名称")
  3. rpa.java.click("控件名称", button='left')
  4. #右键点击
  5. rpa.java.click("控件名称", button='right')
  6. #偏移左键控件
  7. rpa.java.click("控件名称", offsetX=1, offsetY=2)

double_click

double_click(element, *, offsetX=0,offsextY=0,index=1, simulate=True, parent_element=None, timeout=10)

  • element : 控件名称
  • offsetX : 横向偏移量
  • offsetY : 纵向偏移量
  • index : 如果有多个,给出控件下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间 单位秒

鼠标双击

  1. rpa.java.double_click('按钮')

expand

expand(self, element, *, index=1, parent_element=None, timeout=10)
节点展开

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. rpa.java.expand('控件名称')

collapse

collapse(self, element, *, index=1, parent_element=None, timeout=10)
节点折叠

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. rpa.java.collapse('控件名称')

set_select_item_by_index

set_select_item_by_index(self, element, item_index: int, *, index=1, parent_element=None, timeout=10)
combobox—根据下标下拉

  • element : 控件名称
  • item_index : 选项下标
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 等待控件超时时间
  1. rpa.java.set_select_item_by_index('控件名称', '选项下标')

set_select_item_by_text

set_select_item_by_index(self, element, text: str, *, index=1, parent_element=None, timeout=10)
combobox—根据内容下拉

  • element : 控件名称
  • text : 选项文本
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. #下拉第一个选项
  2. rpa.java.set_select_item_by_text('控件名称', 1)

get_select_items

get_select_items(self, element, mode=’selected’, *, index=1, parent_element=None, timeout=10)
获取combobox的item

  • element : 控件名称(弹出框点击)
  • index : 如果有多个控件,给出下标
  • mode : selected|all
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. #返回所有选项的集合
  2. result = wnd.get_options('控件名称') #简略的写法
  3. result = wnd.get_options('控件名称', mode='all')
  4. #返回选中的值的集合(因为有多选的情况,统一返回集合)
  5. result = wnd.get_options('控件名称', mode='selected')

set_checked

set_checked(self, element, value: bool, *, index=1, parent_element=None, timeout=10)
复选框设置状态

  • element : 控件名称
  • value : 是否勾选
  • index : 如果有多个,给出控件下标
  • parent_elemet : 父控件对象
  • timeout:超时时间
  1. #取消勾选
  2. rpa.java.set_checked('控件名称', False)
  3. #设置勾选
  4. rpa.java.set_checked('控件名称', True)

get_checked

get_checked(self, element, *, index=1, parent_element=None, timeout=10)
获取复选框状态

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. result = rpa.java.get_checked('控件名称')

get_selected

get_selected(self, element, *, index=1, parent_element=None, timeout=10)
获取选中状态

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. result = rpa.java.get_selected('控件名称')

text

text(self, element, *, index=1, parent_element=None, timeout=10)
获取文本

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. result = rpa.java.text('控件名称')

value

value(self, element, *, index=1, parent_element=None, timeout=10)

  • element : 控件名称(按钮控件)
  • index : 如果有多个,给出控件下标
  • parent_elemet : 父控件对象
  • timeout:超时时间

获取value属性的值

  1. result = rpa.java.value('控件名称')

pos

pos(self, element, *, index=1, parent_element=None, timeout=10)
获取坐标

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间

返回坐标x,y

  1. result = rpa.java.pos('控件名称')

table

table(self, element, *, index=1, parent_element=None, timeout=10)
获取表格内容

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间 单位秒

返回表格内容

  1. result = rpa.java.table('控件名称')

screenshot

screenshot(self, element, file, *, index=1, parent_element=None, timeout=10)
控件截图

  • element : 控件名称
  • file : 保存截图完成路径(含文件名)
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. rpa.screenshot('控件名称', r'c:\work\aaa.jpg')

mouse_move

mouse_move(self, element, *, index=1, parent_element=None, timeout=10)
鼠标移入

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间 单位秒
  1. rpa.java.mouse_move('控件名称')

JavaWindow

JavaWindow: 负责为用户提供JavaWindow相关的一些操作
JavaWindow中的操作我们用 java_obj表示对象

activate

activate(self)
激活窗口

  1. java_obj.activate()

maximize

maximize(self)
最大化窗口

  1. java_obj.maximize()

minimize

minimize(self)
最小化窗口

  1. java_obj.minimize()

hide

hide(self)
隐藏窗口

  1. java_obj.hide()

show

show(self)
窗口显示

  1. java_obj.show()

win_appear

wait_appear(self, timeout=30)
等待窗口出现

  • timeout : 超时时间
  1. result = java_obj.wait_appear()

win_disappear

wait_disappear(self, timeout=30)
等待窗口消失

  • timeout : 超时时间
  1. result = java_obj.wait_disappear()

close

close(self)
关闭窗口

  1. java_obj.close()

get_element

get_element(self, element, *, index=1, parent_element=None, timeout=10)
获取控件对象

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. element_obj = java_obj.get_element('控件名称')

element_count

element_count(self, element, *, parent_element=None)
获取控件个数

  • element : 控件名称
  • parent_elemet : 父控件对象
  1. count = java_obj.element_count('控件名称')

wait

wait(self, element, *, index=1, parent_element=None, timeout=10)
等待加载控件,成功返回True,失败返回False

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. isWait = java_obj.wait('控件名称')

input

input(self, element, value, *, simulate=False, replace=False, index=1, parent_element=None, timeout=10)
输入

  • element : 控件名称(弹出框点击)
  • index : 如果有多个控件,给出下标
  • value : 输入的内容
  • parent_elemet : 父控件对象
  • simulate : 是否模拟输入
  • replace: 是否清空之前的内容
  • timeout : 超时时间
  1. #模拟覆盖输入"aa"
  2. java_obj.input("控件名称", "aa", simulate=True, replace=True)
  3. #模拟追加输入"aa"
  4. java_obj.input("控件名称", "aa") #简略的写法
  5. java_obj.input("控件名称", "aa", simulate=True, replace=False)
  6. #非模拟覆盖输入"aa"
  7. java_obj.input("控件名称", "aa", simulate=False, replace=True)
  8. #非模拟追加输入"aa"
  9. java_obj.input("控件名称", "aa") #简略的写法
  10. java_obj.input("控件名称", "aa", simulate=False, replace=False)

click

click(self, element, *, button=’left’, simulate=True, offsetX=0, offsetY=0, index=1, parent_element=None, timeout=10)
点击

  • element : 控件名称
  • index : 如果有多个,给出控件下标
  • offsetX : 横向偏移量
  • offsetY : 纵向偏移量
  • parent_element : 父控件对象
  • button: ‘left’|’right’ 左键或右键
  • simulate : 是否模拟点击
  • timeout : 超时时间
  1. #左键点击
  2. java_obj.click("控件名称")
  3. java_obj.click("控件名称", button='left')
  4. #右键点击
  5. java_obj.click("控件名称", button='right')
  6. #偏移左键控件
  7. java_obj.click("控件名称", offsetX=1, offsetY=2)

double_click

double_click(self, element, *, offsetX=0, offsetY=0, index=1, parent_element=None, timeout=10)
双击

  • element : 控件名称
  • index : 如果有多个,给出控件下标
  • offsetX : 横向偏移量
  • offsetY : 纵向偏移量
  • parent_element : 父控件对象
  • simulate : 是否模拟点击
  • timeout : 超时时间
  1. #双击控件
  2. java_obj.double_click('控件名称')
  3. #偏移双击控件
  4. java_obj.double_click('控件名称', offsetX=1, offsetY=2)

expand

expand(self, element, *, index=1, parent_element=None, timeout=10)
节点展开

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. java_obj.expand('控件名称')

collapse

collapse(self, element, *, index=1, parent_element=None, timeout=10)
节点折叠

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. java_obj.collapse('控件名称')

set_select_item_by_text

set_select_item_by_text(self, element, text: str, *, index=1, parent_element=None, timeout=10)
combobox—根据内容下拉

  • element : 控件名称
  • text : 选项文本
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. #下拉包含"aa"
  2. java_obj.set_select_item_by_text('控件名称', 'aa')

set_select_item_by_index

set_select_item_by_index(self, element, item_index: int, *, index=1, parent_element=None, timeout=10)
combobox—根据下标下拉

  • element : 控件名称
  • item_index : 选项下标
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. #下拉第一个选项
  2. java_obj.set_select_item_by_index('控件名称', 1)

get_select_items

get_select_items(self, element, mode=’selected’, *, index=1, parent_element=None, timeout=10)
获取combobox的item

  • element : 控件名称(弹出框点击)
  • index : 如果有多个控件,给出下标
  • mode : selected|all
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. #返回所有选项的集合
  2. result = java_obj.get_options('控件名称') #简略的写法
  3. result = java_obj.get_options('控件名称', mode='all')
  4. #返回选中的值的集合(因为有多选的情况,统一返回集合)
  5. result = java_obj.get_options('控件名称', mode='selected')

set_checked

set_checked(self, element, value: bool, *, index=1, parent_element=None, timeout=10)
复选框设置状态

  • element : 控件名称
  • value : 是否勾选
  • index : 如果有多个,给出控件下标
  • parent_elemet : 父控件对象
  • timeout:超时时间
  1. #取消勾选
  2. java_obj.set_checked('控件名称', False)
  3. #设置勾选
  4. java_obj.set_checked('控件名称', True)

get_checked

get_checked(self, element, *, index=1, parent_element=None, timeout=10)
获取复选框状态

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. result = java_obj.get_checked('控件名称')

get_selected

get_selected(self, element, *, index=1, parent_element=None, timeout=10)
获取选中状态

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. result = java_obj.get_selected('控件名称')

text

text(self, element, *, index=1, parent_element=None, timeout=10)
获取文本

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. result = java_obj.text('控件名称')

pos

pos(self, element, *, index=1, parent_element=None, timeout=10)
获取坐标

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. result = java_obj.pos('控件名称')

table

table(self, element, *, index=1, parent_element=None, timeout=10)
获取表格内容

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. result = java_obj.table('控件名称')

screenshot

screenshot(self, element, file, *, index=1, parent_element=None, timeout=10)
控件截图

  • element : 控件名称
  • file : 保存截图完成路径(含文件名)
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. java_obj.screenshot('控件名称', r'c:\work\aaa.jpg')

mouse_move

mouse_move(self, element, *, index=1, parent_element=None, timeout=10)
鼠标移入

  • element : 控件名称
  • index : 如果有多个控件,给出下标
  • parent_elemet : 父控件对象
  • timeout : 超时时间
  1. java_obj.mouse_move('控件名称')