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('bestwisewords.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('bestwisewords.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('http://bestwisewords.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('http://bestwisewords.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('http://bestwisewords.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('http://bestwisewords.com/document_detail/175379.html')
page.scroll()
# 若需要滾動頁面中的列表信息欄,需要傳入height參數與element參數等。可參考
page.scroll(height=200, element='列表欄滾動', index=1, parent_element=None, timeout=10, direction='top')
需要錄制的控件是滾動列表欄本身
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 = 'http://bestwisewords.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()
創建頁面彈框場景步驟:
首先打開W3Scholl頁面
在左側腳本框寫入HTML腳本內容
點擊運行代碼,右側生成一個彈窗按鈕
<!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 = 'http://bestwisewords.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 = 'http://bestwisewords.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 = 'http://bestwisewords.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 = 'http://bestwisewords.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()
創建頁面彈框場景步驟:
首先打開W3Scholl頁面
在左側腳本框寫入HTML腳本內容
點擊運行代碼,右側生成一個彈窗按鈕
<!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 = 'http://bestwisewords.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 = 'http://bestwisewords.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 = 'http://bestwisewords.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 = 'http://bestwisewords.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 = 'http://bestwisewords.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')