案例介紹
本案例主要展示淘寶網頁,搜索寶貝信息,提取寶貝的寶貝名稱,寶貝鏈接,寶貝價格,店鋪名稱等信息。
案例實現
1.設置參數面板
在參數面板中添加一個文本框類型的參數,并命名參數名為關鍵詞。
2.設置數據視圖
打開數據視圖面板,再通過點擊面板上方菜單欄的插入一列來增加列。點擊列名重新命名,分別為寶貝名稱,寶貝鏈接,寶貝價格,店鋪名稱等。
3.代碼編輯
from rpa.core import *
from rpa.utils import *
import rpa4 as rpa # 使用V4引擎
def start():
# 在此處開始編寫您的應用
page = rpa.app.ie.create("www.taobao.com")
product_name = rpa.project.params['關鍵詞']
page.input_text('輸入框', product_name)
page.click('搜索', index = 1, simulate = True)
# 此時發現在點擊搜索按鈕以后頁面跳轉,要加載一段時間,我們暫時使用sleep測試
sleep(3)
# 創建數據視圖
datat = rpa.project.datatable
datat.clear()
# 設置循環用于控制獲取頁數
for y in range(3):
# 獲取控件個數,用于控制循環次數
count = page. count("價格")
for i in range(1, count +1):
# 通過變量i獲取每一個控件的信息
Price = page.text(element="價格", index=i)
quantity = page.text(element="付款人數", index=i)
name = page.text(element="寶貝名稱", index=i)
href = page.attr("寶貝名稱", "href", index=i)
shopname = page.text(element="店鋪名稱", index=i)
address = page.text(element="發貨地", index=i)
# 增加一行
row = datat.add_row()
# 根據行號以及列名寫入數據
datat[row]["寶貝價格"] = Price
datat[row]["寶貝名稱"] = name
datat[row]["寶貝鏈接"] = href
datat[row]["店鋪名稱"] = shopname
datat[row]["購買人數"] = quantity
datat[row]["發貨地"] = address
page.click('下一頁', index = 1, simulate = True, button = 'left')
# 由于點擊下一頁之后頁面加載一段時間,我們暫時使用sleep
sleep(3)
pass
4. 錄制注意點
? 錄制寶貝名稱控件時,由于計劃使用該控件獲取href屬性即url,所以要錄制到a標簽,并非div標簽。? 捕捉相似控件時,若不存在相似控件,則需重新錄制控件,以保證控件準確性。? 修改控件屬性時,要修改一次驗證一次。
文檔內容是否對您有幫助?