可視化樣例一:數(shù)據(jù)獲取
樣例:批量獲取網(wǎng)頁搜索結果
樣例場景
借助可視化功能編排流程,在百度中輸入搜索關鍵詞,將搜索結果前5頁的標題和標題對應的頁碼信息寫入到本地Excel表中。
具體步驟參考視頻教程:
樣例說明
此樣例主要涉及到對瀏覽器和Excel的操作,操作網(wǎng)頁的時候,需要通過捕獲控件功能,獲取頁面輸入框、按鈕等元素,然后根據(jù)需求對它們進行相關操作;同時,由于需要獲取多頁標題數(shù)據(jù),會使用到循環(huán),閱讀操作步驟時,建議關注一下對應的提示內(nèi)容。
控件是機器人可操作的具體元素,比如百度的輸入框、“百度一下”按鈕、“下一頁”按鈕、搜索結果的標題等。詳見“捕捉控件”。
此樣例旨在引導快速上手可視化組件,并非實際最優(yōu)實踐。
步驟1:訪問百度搜索“阿里云”
1.在可視化工程主界面的畫布區(qū),開始節(jié)點之后,點擊+號按鈕,選擇打開新網(wǎng)頁組件,添加一個打開新網(wǎng)頁組件。
2.在新增的打開新網(wǎng)頁組件的屬性區(qū),輸入需要打開的網(wǎng)址:www.baidu.com
提示:圖中的輸出是指這個組件完成其功能后產(chǎn)出的結果,組件會給其默認一個名稱,用于在后續(xù)的流程步驟中引用它(比如本步驟中,默認的v_web_obj_1代表的就是打開網(wǎng)頁成功后,用v_web_obj_1來表示這個網(wǎng)頁,后續(xù)要操作這個網(wǎng)頁上的元素,會通過這個名稱來引用),輸入完組件的屬性值后,點擊三角形的執(zhí)行按鈕,驗證一下能否自動打開網(wǎng)頁吧!
3.在打開新網(wǎng)頁后面新增一個填寫輸入框組件
提示:搜索框中,支持模糊搜索,可以輸入拼音,也可以輸入漢字。
4.在填寫輸入框這個組件的屬性區(qū),在“已打開瀏覽器對象”處,選擇上一步打開的網(wǎng)頁的輸出“v_web_obj_1”;在輸入內(nèi)容處,輸入需要搜索的內(nèi)容,這里以“阿里云”為搜索關鍵詞;在屬性區(qū)的“輸入框控件”處,點擊右側的小按鈕,引出附加菜單,單擊附加菜單中的“捕捉新控件”選項。
提示:所有的網(wǎng)頁操作必須具備三要素:網(wǎng)頁對象、控件對象、操作內(nèi)容。
5.使用捕捉控件捕獲百度輸入框,并將捕獲的控件命名為:1_百度輸入框
下面相關需要捕獲的控件詳細操作說明可參考:捕捉控件
6.在輸入框控件中可選到剛才捕獲到的控件(1_百度輸入框),可以點擊三角形的運行按鈕驗證一下迄今為止的步驟是否能順暢執(zhí)行(注意要先打開網(wǎng)頁,才能操作網(wǎng)頁上的對象哦)
7.捕獲百度一下按鈕,控件并命名為:2_百度一下按鈕
8.捕捉完成之后,在填寫輸入框(網(wǎng)頁)組件后面新增一個點擊控件(網(wǎng)頁)的組件,并在“點擊控件”這個組件的屬性區(qū),選擇已打開的瀏覽器對象“v_web_obj_1”(即一開始我們打開新網(wǎng)頁時的輸出瀏覽器),目標控件選擇“2百度一下按鈕”即可,至此,我們完成了模擬百度一下的操作。
步驟2:使用相似控件捕獲多個標題
1.成功百度搜索之后,接下來需要捕獲所有阿里云的相關標題,這里我們需要用到捕獲控件中的捕獲相似控件功能,并將捕獲的控件命名為:3_多個標題。
提示:下圖中紅框1先用捕捉控件按鈕捕捉,紅框2再使用捕捉相似控件按鈕捕捉。
2.捕捉控件完成后,回到可視化畫布界面,拖動“循環(huán)相似控件”組件到畫布中,在此組件的屬性區(qū)中,已打開的窗口或瀏覽器對象中選擇“v_web_obj_1”(即一開始打開網(wǎng)頁組件的輸出瀏覽器對象),目標控件選擇剛捕獲到的“3多個標題”。
提示:循環(huán)相似控件組件中,屬性區(qū)域中的輸出欄,每次循環(huán)項(v_element_item_1)指的是,在循環(huán)體中每次操作的單個控件對象,比如此例子中,相似控件有10個,在循環(huán)體內(nèi),每次引用“v_element_item_1”時,相當于是依次對單個控件進行操作。(若整個流程走到循環(huán)相似控件這個位置就沒有繼續(xù)走下去,也沒有顯示報錯,卻提示UnboundLocalError: local variable 'v_element_index_1' referenced before assignment,只需要在循環(huán)相似控件的高級選項中設置一下執(zhí)行前延遲半秒即可)
3.在循環(huán)相似控件內(nèi)部,新增一個“獲取文本(網(wǎng)頁)”組件,在屬性區(qū),輸入選擇v_web_obj_1(即最開始打開新網(wǎng)頁組件中的輸出瀏覽器對象),目標控件選擇v_element_item_1(即上一步的輸出“每次循環(huán)項”),控件索引選擇v_element_index_1(即上一步的輸出“每次循環(huán)索引”)。
步驟3:將采集的標題寫入Excel
1.為記錄數(shù)據(jù),需要使用Excel,從組件功能區(qū)中,拖動啟動Excel組件到“循環(huán)相似控件”之前,在啟動Excel組件的屬性區(qū),點擊新建Excel單選框。
2.單選選擇“新建Excel”后,點擊瀏覽按鈕,選擇Excel要保存的位置,然后在文件名欄自定義Excel文件名(需要帶上Excel的后綴.xlsx),然后點擊保存。
3.在啟動Excel組件之后,新增獲取當前激活的Sheet頁組件,組件屬性區(qū)中,已打開的Excel對象選擇上一步的輸出”v_excel_obj_1”。
提示:打開Excel實際上是打開了一個Excel工作簿,一個工作簿中會有多個工作表(sheet),具體的數(shù)據(jù)操作必須要在工作表上進行,此步獲取當前激活的sheet頁,實際上是取工作簿打開后,默認展現(xiàn)的sheet頁。
4.在循環(huán)體內(nèi)部,新增一個在Excel末尾寫入一行組件,在此組件的屬性框中,已打開的sheet對象選擇上一步輸出的Sheet對象(v_sheet_obj_1),在寫入內(nèi)容處,需要寫入一個形如[XXX, XXX, …]的數(shù)組(按照文本提示操作即可),點擊右側的按鈕,在彈出的選項中選擇“編輯表達式”。
提示:形如[XXX, XXX, …]的數(shù)組,實際上是一種編程中的數(shù)據(jù)結構,它代表的是以英文逗號分隔開的多個數(shù)據(jù)的集合,一行數(shù)據(jù)有多列(列數(shù)不確定),因此在寫入行的時候,需要使用這種數(shù)據(jù)結構來操作。比如向某一行寫入[“標題1”,”標題2”,”標題3”],對應到表格中即是 :
5.在彈出的編輯表達式窗口中,輸入:[v_web_text_1, "RPA機器人自動填表測試"],然后點擊確定。至此,爬取單頁搜索結果標題的任務流程已完成。
提示:這里的v_web_text_1是此組件前,獲取文本(網(wǎng)頁)這個組件的輸出變量名;如果需要填入的不是一個變量名而是文本,則需要加上英文格式雙引號(邏輯類似于Excel函數(shù)公式操作中,文本要加雙引號)。
6.為了爬取多頁數(shù)據(jù),需要捕獲百度搜索結果頁面中的下一頁按鈕,捕捉方法與上文所述的一致。
7.在畫布頁面中新增按照次數(shù)循環(huán)組件,此組件的屬性框中,循環(huán)結束值設為5。
提示:本案例中,循環(huán)起始值為1,結束值為5,步長為1,輸出的每次循環(huán)輸項v_range_item_1實際上就是從1逐次變化到5(1,2,3,4,5),為體現(xiàn)這種變化,下面的步驟會把它記錄在Excel表中
8.將循環(huán)相似控件這個組件,拖動到按照次數(shù)循環(huán)組件中。
提示:按照次數(shù)循環(huán)中嵌套循環(huán)相似控件,實際上就是,在每一頁內(nèi),將每一個標題寫到Excel表后,再點擊下一頁,重復操作,直到結束。
9.在循環(huán)相似控件組件內(nèi)的在Excel末尾寫入一行組件的屬性區(qū)中,單擊寫入內(nèi)容框中的灰色框,進入編輯表達式界面,在原來的表達式后,加入v_range_item_1(即最終寫入內(nèi)容為:[v_web_text_1,"RPA機器人自動填表測試",v_range_item_1])
提示:此處的v_range_item_1,即第7步中按照次數(shù)循環(huán)組件的屬性區(qū)中,輸出欄里的“每次循環(huán)項”中的值。
10.在循環(huán)相似控件組件后,新增一個點擊控件(網(wǎng)頁)組件,已打開的瀏覽器對象選擇v_web_obj_1,目標控件選擇“下一頁按鈕”,然后單擊高級選項,在執(zhí)行后延遲框中輸入2。
提示:此處請注意要將點擊控件按鈕放在“按次數(shù)循環(huán)”中,“循環(huán)相似控件”的下方,邏輯是,通過循環(huán)相似控件獲取所有當頁標題之后,再點擊一頁,重復這些操作直到次數(shù)到達先前設定的5次。此步驟設置執(zhí)行后延遲的目的在于:給網(wǎng)頁充足的反應時間。因為正常點擊下一頁,網(wǎng)頁受限于網(wǎng)速,很難瞬間刷新頁面內(nèi)容,機器人在穩(wěn)定的頁面環(huán)境下才能發(fā)揮最佳效用,此處點擊下一頁后等待2秒,能保證網(wǎng)頁穩(wěn)定展現(xiàn)內(nèi)容。
11.在循環(huán)結束后,新增一個保存Excel組件,輸入選擇v_excel_obj_1(即先前啟動的Excel組件的輸出),至此,順利搭建完成一個完整的流程,點擊啟動調(diào)試運行流程。