案例介绍
本案例主要展示淘宝网页,搜索宝贝信息,提取宝贝的宝贝名称,宝贝链接,宝贝价格,店铺名称等信息。
案例实现
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标签。• 捕捉相似控件时,若不存在相似控件,则需重新录制控件,以保证控件准确性。• 修改控件属性时,要修改一次验证一次。
文档内容是否对您有帮助?