文档

ChromeTab

更新时间:

close

close()

方法描述

关闭浏览器对象

调用样例- rpa.app.chrome.ChromeTab.close-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
page = rpa.app.chrome.create('www.aliyun.com')
page.close()

navigate

navigate(url, wait=True, timeout=100)

方法描述

跳转到指定链接

参数说明

url<str>要打开的url

wait<bool>是否等待加载完成

timeout<int>等待超时时间, 默认100s

调用样例- rpa.app.chrome.ChromeTab.navigate-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
url = 'www.aliyun.com'
page = rpa.app.chrome.create(url)
page.navigate('help.aliyun.com/document_detail/175379.html')

back

back(wait=True, timeout=100)

方法描述

浏览器后退

参数说明

wait<bool>是否等待加载完成

timeout<int>等待超时时间, 默认100s

调用样例- rpa.app.chrome.ChromeTab.back-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
url = 'www.baidu.com'
page = rpa.app.chrome.create(url)
page.input_text('百度输入框','阿里云')
page.click('百度一下按钮', simulate=True)
page.back()

forward

forward(wait=True, timeout=100)

方法描述

浏览器前进

参数说明

wait<bool>是否等待加载完成

timeout<int>等待超时时间, 默认100s

调用样例- rpa.app.chrome.ChromeTab.forward-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
url = 'www.aliyun.com'
page = rpa.app.chrome.create(url)
page.navigate('help.aliyun.com/document_detail/175379.html')
page.back()
page.forward()

activate

activate()

方法描述

激活页面

调用样例- rpa.app.chrome.ChromeTab.activate-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
url = 'www.aliyun.com'
page = rpa.app.chrome.create(url)
page.activate()

url

url()

方法描述

获取url

返回值说明

返回url<str>

调用样例- rpa.app.chrome.ChromeTab.url-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
page = rpa.app.chrome.create('www.aliyun.com')
url = page.url()

title

title()

方法描述

获取title

返回值说明

返回标题<str>

调用样例- rpa.app.chrome.ChromeTab.title-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
page = rpa.app.chrome.create('www.aliyun.com')
title= page.title()

reload

reload(bypass_cache=False, wait=True, timeout=100)

方法描述

刷新页面

参数说明

bypass_cache<bool>是否忽略缓存

wait<bool>是否等待加载完成

timeout<int>等待超时时间, 默认100s

调用样例- rpa.app.chrome.ChromeTab.reload-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
page = rpa.app.chrome.create('www.aliyun.com')
page.reload()

get_cookie

get_cookie()

方法描述

获取当前网站下的所有Cookie

返回值说明

返回当前网站下的所有Cookie<list>

调用样例- rpa.app.chrome.ChromeTab.get_cookie-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
page = rpa.app.chrome.create('www.aliyun.com')
cookie = page.get_cookie()

network_capture_start

network_capture_start(url='', use_regular=False, capture_types=[])

方法描述

开始网页请求监听

参数说明

url<str>监听的url,默认为空,监听所有url

use_regular<bool>url匹配是否使用正则表达式

capture_types<list>监听的请求类型,支持XHR/Fetch、XHR、Fetch、JS、CSS、Image、Font、Document、Websocket、other等

返回值说明

网页请求监听索引key,可通过key获取监听结果或停止监听<string>

调用样例- rpa.app.chrome.ChromeTab.network_capture_start-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
# 打开谷歌浏览器阿里云页面
page = rpa.app.chrome.create('www.aliyun.com')
# 开始网页请求监听
capture_key = page.network_capture_start(url='', use_regular=False, capture_types=[])
# 刷新页面
page.reload()
# 获取网页请求监听结果
web_respond_body = rpa.app.chrome.get_network_capture_result(capture_key)
# 停止网页请求监听
rpa.app.chrome.network_capture_stop(capture_key)
# 记录信息日志
rpa.console.logger.info(web_respond_body)

wait_load_completed

wait_load_completed(timeout=100)

方法描述

等待页面加载完成

参数说明

timeout<int>等待超时时间, 默认100s

调用样例- rpa.app.chrome.ChromeTab.wait_load_completed-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
page = rpa.app.chrome.create('www.aliyun.com')
page.wait_load_completed()

copy

copy()

方法描述

在当前页面上执行拷贝操作

返回值说明

返回操作是否成功<bool>

调用样例- rpa.app.chrome.ChromeTab.copy-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 此方法仅执行复制指令,需要通过其他方法选中待复制的内容后,再执行此方法。
# 3. 此方法会将内容写入到系统剪贴板。
# 代码调用样例如下,本例中,通过双击的形式点击单元格内容,选中了对应文本,再执行复制操作:
page = rpa.app.chrome.create('https://help.aliyun.com/document_detail/175379.html')
page.double_click('queryClientViews-chrome')
page.copy()

paste

paste()

方法描述

在当前页面上执行粘贴操作

返回值说明

返回操作是否成功<bool>

调用样例- rpa.app.chrome.ChromeTab.paste-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 此方法仅执行粘贴指令,需要通过其他方法选中待粘贴区域后,再执行此方法。
# 3. 此方法会将剪贴板上的最新内容粘贴到对应区域。
# 代码调用样例如下,本例中,复制了单元格内容之后,点击了搜索框,再执行粘贴动作:
page = rpa.app.chrome.create('https://help.aliyun.com/document_detail/175379.html')
page.double_click('queryClientViews-chrome')
page.copy()
page.click('文档搜索框-chrome')
page.paste()

cut

cut()

方法描述

在当前页面上执行剪切操作

返回值说明

返回操作是否成功<bool>

调用样例- rpa.app.chrome.ChromeTab.cut-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 此方法仅执行剪切指令,需要通过其他方法选中可剪切内容后,再执行此方法(如果内容本身不可剪贴,此动作将无效)
# 3. 此方法会将内容写入到系统剪贴板。
# 代码调用样例如下,本例中,需先人工打开百度首页,并在输入框中输入任意内容,
# 程序会双击输入框获取其中的文本,再执行剪切动作:
page = rpa.app.chrome.catch('www.baidu.com',mode='url')
page.double_click('百度输入框-chrome')
page.cut()

execute_js

execute_js(code, element=None, index=1, timeout=10)

方法描述

执行js代码

参数说明

code<str>js代码

element<str>控件, 在此控件所在域内执行JS(用于跨域)

index<int>如果有多个,给出控件下标

timeout<int>超时时间

返回值说明

返回执行结果(JSON字符串形式)<str>

调用样例- rpa.app.chrome.ChromeTab.execute_js-

# 注意事项:此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 此方法需要基于ChromeTab实例对象进行操作
# 代码调用样例如下:
js_code = """
    function test(){ 
    var div1 = document.getElementById("su").getAttribute('%s');
    return(div1) 
    } ; 
result = test() ; 
console.log(result) ; 
alert(result);
return result;
"""%'value'

url = 'www.baidu.com'
page = rpa.app.chrome.create(url)

value = page.execute_js(js_code)
print(value)

table

table(value, type='index', return_type='text', parent_element=None)

方法描述

获取表格

参数说明

type<str>匹配类型

可选项:

  • index : 下标匹配

  • text : 文本匹配

  • html : html匹配

return_type<str>返回类型

可选项:

  • text : 文本类型

  • html : html类型

返回值说明

返回匹配成功table对应的二维数组或html<list>

调用样例- rpa.app.chrome.ChromeTab.table-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 此方法根据索引(从1开始)或者正则表达式获取页面上的标准表格(html标签为table)
# 代码调用样例如下,运行后会获取网页上第1个表格(按html从上至下的顺序,第1个table标签的内容):
page = rpa.app.chrome.create('https://help.aliyun.com/document_detail/175379.html')
table_data = page.table(1)

scroll

scroll(height=0, element=None, index=1, parent_element=None, timeout=10, direction='top')

方法描述

滚动页面

参数说明

height<int>设置则滚动指定高度,否则滚动到页面最底部

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<Element>父控件对象

timeout<int>超时时间

direction<str>选择滚动条方向

可选项:

  • left : 向左滚动

  • top : 向下滚动

调用样例- rpa.app.chrome.ChromeTab.scroll-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 不传参数或者参数设为0时,此方法会将页面滑块滚动到底端。
# 代码调用样例如下:
page = rpa.app.chrome.create('https://help.aliyun.com/document_detail/175379.html')
page.scroll()
# 若需要滚动页面中的列表信息栏,需要传入height参数与element参数等。可参考
page.scroll(height=200, element='列表栏滚动', index=1, parent_element=None, timeout=10, direction='top')
重要

需要录制的控件是滚动列表栏本身scroll_1

download_by_url

download_by_url(url, path, wait=True, complete_timeout=120)

方法描述

根据url下载文件(前提设置,进入chrome://settings/, 取消“下载前询问每个文件的保存位置”)

参数说明

url<str>下载文件的链接

path<str>保存的文件路径

complete_timeout<int>超时时间

wait<bool>是否等待完成

调用样例- rpa.app.chrome.ChromeTab.download_by_url-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 代码调用样例如下,运行后会下载对应文件到指定路径:
url = 'www.cninfo.com.cn'
page = rpa.app.chrome.create(url)
download_url = 'http://www.cninfo.com.cn/new/announcement/download?bulletinId=1209275224&announceTime=2021-02-10'
download_path = r'D:\阿里巴巴-SW.pdf'
page.download_by_url(download_url,download_path)

get_element_by_name

get_element_by_name(element, index=1, parent_element=None, timeout=10)

方法描述

获取对象

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<Element>父控件对象

timeout<int>超时时间

返回值说明

返回控件对象<Element>

调用样例- rpa.app.chrome.ChromeTab.get_element_by_name-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 注意事项:使用前需要通过捕捉控件功能获取页面上的元素
# 代码调用样例如下:
url = 'https://www.baidu.com/'
page = rpa.app.chrome.create(url)
element = page.get_element_by_name('百度一下按钮-chrome')
text = element.text()

get_element_by_css

get_element_by_css(css, index=1, parent_element=None, timeout=10)

方法描述

根据CSS表达式获取控件

参数说明

css<str>CSS表达式

index<int>如果有多个,给出控件下标

parent_elemet<str>父控件对象

timeout<int>超时时间

返回值说明

返回控件对象<Element>

调用样例- rpa.app.chrome.ChromeTab.get_element_by_css-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 此方法使用css选择器定位要操作的元素,请使用标准的css-selector表达式
# 代码调用样例如下:
url = 'https://help.aliyun.com/document_detail/175379.html'
page = rpa.app.chrome.create(url)
css_selector = "span.lake-fontsize-11" # 代表是span标签中class值为lake-fontsize-11
element = page.get_element_by_css(css_selector)
text = element.text()

count

count(element, parent_element=None)

方法描述

获取控件个数

参数说明

element<str>控件

parent_elemet<str>父控件对象

调用样例- rpa.app.chrome.ChromeTab.count-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 通过捕捉相似控件功能获取相似控件元素后,常使用此方法统计控件数量
# 代码调用样例如下:
url = 'www.aliyun.com'
page = rpa.app.chrome.create(url)
element_count = page.count('登录按钮-chrome')

wait_loaded

wait_loaded(element, index=1, parent_element=None, timeout=10, ignore_error=True)

方法描述

等待控件加载

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

ignore_error<bool>忽略错误

调用样例- rpa.app.chrome.ChromeTab.wait_loaded-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
page = rpa.app.chrome.create('www.taobao.com')
flag = page.wait_loaded('淘宝logo')

wait_disappear

wait_disappear(element, index=1, parent_element=None, timeout=10)

方法描述

等待控件消失

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.wait_disappear-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
page = rpa.app.chrome.create('www.taobao.com')
page.wait_disappear('淘宝logo')

handle_javascript_dialog

handle_javascript_dialog(value='ok', text=None)

方法描述

处理JavaScript弹出框

参数说明

value<str>弹出框处理

可选项:

  • ok : 点击确定

  • cancel : 点击取消

text<str>向弹框中输入的文本

调用样例- rpa.app.chrome.ChromeTab.handle_javascript_dialog-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 代码调用样例如下:
page = rpa.app.chrome.catch('W3School TIY Editor', mode='title', pattern='contain')
page.click('点我弹窗')
page.handle_javascript_dialog()
说明

创建页面弹框场景步骤:

  1. 首先打开W3Scholl页面

  2. 在左侧脚本框写入HTML脚本内容

  3. 点击运行代码,右侧生成一个弹窗按钮

1695718066756_40BCDD34-2CB3-40ab-A8FE-3A907D64CDB4.png

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
function myFunction()
{
    alert("我来打扰你啦~!");
}
</script>
</head>
<body>

<input type="button" onclick="myFunction()" value="点我弹窗">

</body>
</html>

click

click(element, index=1, parent_element=None, simulate=True, button='left', offset_x=0, offset_y=0, timeout=10)

方法描述

点击

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

simulate<bool>是否模拟点击

button<str>鼠标键位

可选项:

  • left : 左键

  • right : 右键

offset_x<int>横向偏移

offset_y<int>纵向偏移

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.click-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 3. simulate=True,即模拟点击情况下,需要对应的页面元素在可见区域,模拟鼠标点击
# 4. simulate=False,即在非模拟点击情况下,将直接向元素发送对应点击指令
# 代码调用样例如下:
url = 'www.aliyun.com'
page = rpa.app.chrome.create(url)
page.click('登录按钮-chrome')

input_text

input_text(element, value, index=1, parent_element=None, simulate=True, replace=True, sent_raw=False, wait_mili_seconds=20, timeout=10)

方法描述

输入文本

参数说明

element<str>控件

value<str>输入的内容

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

simulate<bool>是否模拟输入

replace<bool>是否清空之前的内容

sent_raw<bool>是否发送原始按键,仅非模拟模式有效

wait_mili_seconds<int>字符间输入间隔(毫秒),仅在模拟输入下有效,默认值为20,最大值100,该值设置过大可能会引起超时

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.input_text-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
url = 'www.taobao.com'
page = rpa.app.chrome.create(url)
page.input_text('淘宝搜索框-chrome','RPA')

input_hotkeys

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

方法描述

输入快捷键

参数说明

element<str>控件

value<str>输入的内容

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.input_hotkeys-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 3. 虚拟键写法请参考:虚拟键列表参考 https://www.yuque.com/aliyun_rpa/quzm63/vk
# 代码调用样例如下:
url = 'www.taobao.com'
page = rpa.app.chrome.create(url)
page.input_text('淘宝搜索框-ie','RPA')
page.input_hotkeys('淘宝搜索框-ie','VK_RETURN')

download_by_element

download_by_element(path, element, index=1, parent_element=None, wait=True, suffix=None, complete_timeout=120)

方法描述

根据控件下载文件,并等待下载结束(前提设置,进入chrome://settings/, 取消“下载前询问每个文件的保存位置”)

参数说明

path<str>保存的文件路径

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<Element>父控件对象

complete_timeout<int>超时时间

wait<bool>是否等待完成

suffix<str>文件名后缀格式

可选项:

  • datetime: 日期时间 (年月日时分)

  • date: 日期(年月日)

调用样例- rpa.app.chrome.ChromeTab.download_by_element-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要先通过捕捉控件功能获取页面上的下载按钮并验证可用
# 代码调用样例如下:
url = 'http://www.cninfo.com.cn/new/disclosure/detail?plate=hke&orgId=9900042435&stockCode=09988&announcementId=1209275224'
page = rpa.app.chrome.create(url)
download_path = r'D:\阿里巴巴-SW-公开资料.pdf'
page.download_by_element(download_path,'公告下载-chrome')

upload

upload(element, file, index=1, parent_element=None, timeout=10)

方法描述

上传文件

参数说明

element<str>控件

file<str>上传的文件路径

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.upload-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要先通过捕捉控件功能获取页面上的上传按钮并验证可用
# 代码调用样例如下:
url = 'https://duguang.aliyun.com/experience?type=standard&subtype=idcard#intro'
page = rpa.app.chrome.create(url)
upload_path = r'D:\2_测试文件归档\OCR身份证识别.jpg'
page.upload('上传图片-chrome',upload_path)

text

text(element=None, index=1, parent_element=None, timeout=10)

方法描述

获取文本

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

返回值说明

返回文本,不传控件则返回浏览器上所有的文本<str>

调用样例- rpa.app.chrome.ChromeTab.text-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
url = 'https://help.aliyun.com/document_detail/175379.html'
page = rpa.app.chrome.create(url)
text = page.text(element='网页底部-售前咨询-chrome')

html

html(element=None, index=1, parent_element=None, timeout=10)

方法描述

获取html

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

返回值说明

返回html,不传控件则返回浏览器上所有的html<str>

调用样例- rpa.app.chrome.ChromeTab.html-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
url = 'https://help.aliyun.com/document_detail/175379.html'
page = rpa.app.chrome.create(url)
html = page.html('网页底部-售前咨询-chrome')

value

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

方法描述

获取值

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.value-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
url = 'https://help.aliyun.com/document_detail/175379.html'
page = rpa.app.chrome.create(url)
value = page.value('网页底部-售前咨询-chrome')

option

option(element, text, index=1, parent_element=None, type='match', timeout=10)

方法描述

下拉框选择

参数说明

element<str>控件

text<str>选择内容

index<int>如果有多个,给出控件下标

type<str>匹配类型

可选项:

  • match : 模糊匹配

  • full : 完全匹配

  • regex : 正则匹配

parent_element<str>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.option-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要先通过捕捉控件功能获取页面标准下拉框元素(html标签为select)
# 3. 需确认下拉框中存在对应的文本选项
# 代码调用样例如下:
url = 'https://kyfw.12306.cn/otn/leftTicket/init'
page = rpa.app.chrome.create(url)

page.option('下拉框-chrome','00:00--06:00')

get_checked_state

get_checked_state(element, index=1, parent_element=None, timeout=10)

方法描述

获取勾选状态

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

返回值说明

返回勾选状态<bool>

调用样例- rpa.app.chrome.ChromeTab.get_checked_state-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
url = 'https://kyfw.12306.cn/otn/leftTicket/init'
page = rpa.app.chrome.create(url)
check_state = page.get_checked_state('复选框-动车-chrome')

set_checked_state

set_checked_state(element, value=True, index=1, parent_element=None, timeout=10)

方法描述

设置勾选状态

参数说明

element<str>控件

value<bool>传入True则勾选,传入False取消勾选

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.set_checked_state-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
url = 'https://kyfw.12306.cn/otn/leftTicket/init'
page = rpa.app.chrome.create(url)
page.set_checked_state('复选框-动车-chrome', value=True)

attr

attr(element, attrname, index=1, parent_element=None, timeout=10)

方法描述

获取属性

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

返回值说明

返回属性值<str>

调用样例- rpa.app.chrome.ChromeTab.attr-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
url = 'https://help.aliyun.com/document_detail/175379.html'
page = rpa.app.chrome.create(url)
attribute = page.attr('登录按钮-chrome','class')

process_alert

process_alert(option='ok', element=None, simulate=True, index=1, parent_element=None, timeout=10)

方法描述

弹出框点击

参数说明

value<str>弹出框处理

可选项:

  • ok : 点击确定

  • cancel : 点击取消

element<str>控件(不传控件则为浏览器内的弹出框点击)

simulate<bool>是否模拟

index<int>如果有多个,给出控件下标

parent_element<Element>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.process_alert-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 此方法仅能处理confirm或alert弹窗
# 代码调用样例如下:
page = rpa.app.chrome.catch('W3School TIY Editor', mode='title', pattern='contain')
page.click('点我弹窗')
page.process_alert()
说明

创建页面弹框场景步骤:

  1. 首先打开W3Scholl页面

  2. 在左侧脚本框写入HTML脚本内容

  3. 点击运行代码,右侧生成一个弹窗按钮

1695718066756_40BCDD34-2CB3-40ab-A8FE-3A907D64CDB4.png

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
function myFunction()
{
    alert("我来打扰你啦~!");
}
</script>
</head>
<body>

<input type="button" onclick="myFunction()" value="点我弹窗">

</body>
</html>

process_prompt

process_prompt(text, option='ok', element=None, simulate=True, index=1, parent_element=None, timeout=10)

方法描述

输入框输入并点击

参数说明

text<str>输入内容

option<str>输入框点击

可选项:

  • ok : 点击确定

  • cancel : 点击取消

element<str>控件(不传控件则为浏览器内的弹出框点击)

simulate<bool>是否模拟

index<int>如果有多个,给出控件下标

parent_element<Element>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.process_prompt-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 此方法仅能处理prompt弹窗
# 代码调用样例如下:
url = 'https://help.aliyun.com/document_detail/175379.html'
page = rpa.app.chrome.create(url)
page.execute_js('prompt("请输入内容:","")')
page.process_prompt('RPA_TEST')

pos

pos(element, index=1, parent_element=None, timeout=10)

方法描述

获取控件坐标

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.pos-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 此方法返回的坐标是以屏幕左上角为原点,页面元素的坐标------即移动网页窗口,此坐标会变化
# 代码调用样例如下:
url = 'https://help.aliyun.com/document_detail/175379.html'
page = rpa.app.chrome.create(url)
pos = page.pos('登录按钮-chrome')

screenshot

screenshot(element, file, index=1, parent_element=None, timeout=10)

方法描述

截图

参数说明

element<str>控件

file<str>保存的截图路径

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.screenshot-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
url = 'https://help.aliyun.com/document_detail/175379.html'
page = rpa.app.chrome.create(url)
save_path = r'D:\阿里云底部文本截图.jpg'
page.screenshot('网页底部-售前咨询-chrome',save_path)

mouse_move

mouse_move(element, index=1, parent_element=None, timeout=10)

方法描述

鼠标移入

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.mouse_move-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
url = 'https://help.aliyun.com/document_detail/175379.html'
page = rpa.app.chrome.create(url)
page.mouse_move('网页底部-售前咨询-chrome')

isvisible

isvisible(element, index=1, parent_element=None, timeout=10)

方法描述

获取控件是否可见

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

返回值说明

返回是否可见<bool>

调用样例- rpa.app.chrome.ChromeTab.isvisible-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 3. 此方法判断的是页面元素的可见属性,如果页面本身不存在对应元素,则会抛出等待控件超时异常
# 代码调用样例如下,本例中打开网页后,使用js将指定页面元素设为不可见,再使用此方法:
url = 'www.baidu.com'
page = rpa.app.chrome.create(url)
js = """
function set_display(){
    var div1 = document.getElementById("su");
    div1.style.display = "none";
};
set_display()
"""
page.execute_js(js)

flag = page.isvisible('百度一下-chrome')

drag

drag(element, x=0, y=0,speed_mode='uniform', index=1, parent_element=None, timeout=10)

方法描述

将元素拖拽指定的偏移量

参数说明

element<str>控件

x<int>x轴偏移量

y<int>y轴偏移量

speed_mode<str>拖拽的速度模式

  • uniform:匀速拖拽

  • fast-slow-pause:先加速拖动,然后减速拖动,最后停顿对准(模拟人拖动的速度模式)

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.drag-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
url = 'https://help.aliyun.com/document_detail/175379.html'
page = rpa.app.chrome.create(url)
page.drag('登录按钮-chrome',x=-500,y=100)

clear_input

clear_input(element, index=1, parent_element=None, timeout=10)

方法描述

清空输入框

参数说明

element<str>控件

index<int>如果有多个,给出控件下标

parent_element<str>父控件对象

timeout<int>超时时间

调用样例- rpa.app.chrome.ChromeTab.clear_input-

# 注意事项:
# 1. 此方法需要确认已安装并启用Aliyun RPA对应的chrome扩展插件
# 2. 使用前需要确认已通过捕捉控件功能录制了页面元素
# 代码调用样例如下:
url = 'www.baidu.com'
page = rpa.app.chrome.create(url)
page.clear_input('百度一下-chrome')