【UIpath杂谈】Selector中使用变量去抓取数据(二)

      在之前的博客中,我虽然提出了方法解决selector中输入指定变量的问题(感兴趣的朋友可以去看看我之前的博客)

     但是对于网站其标签名就是我想要知道的数据时,显的无能为力,因为我无法对其进行定位

 

 

但是今天我找到一个新的方法可以解决这一问题,就是Anchor ,锚点定位,因为网站的设计其实就是一个一个table的嵌套,其一般在网站上的位置是固定的

就比如我想要处理的这个网站的数据,其序号是在第一个,然后是日期,然后就是我想要得到的数据:位置

而其中我最容易得到的就是:序号,因为其是线性的,可以设置循环去遍历

 

二、主要代码及处理结果

 

为了便于观察,将所有信息都进行了输出。

 

三、代码思路

之前就提及了因为序号是线性递减的,因此是我们进行数据抓取的依据,

如果在抓取数据时,没有类似于序号这种变量,那就会很难对页面元素进行查找

然后就是anchor--锚点,它的主要作用就是定位,以锚点数据作为依据,可以对于其四周的数据进行抓取,

具体的方位可以在AnchorPosition中进行设置

对于本次数据的处理就是先以序号为锚点找到日期信息,再以日期信息为锚点,找到位置信息。

 

四、具体代码分析

1.先设置循环信息

 

int_MaxNum --起始数据 

int_i  --循环的计数器

本次循环的次数是10

2.设置selector查找信息

因为int_i就是动态的序号,因此可以直接使用

 

3.设置Anchor Base进行数据定位

就是之前使用过的方法,先根据序号信息找到日期

 

 

再进行一次定位,根据日期信息找到位置

 

ps:在Selector中使用变量时,会显示UnValidate,就是会变红,但只要你变量设置正确,Uipath能找到正确的数据。

 

 

 

 

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是使用 UiPath 在天眼查网站抓取多个公司地址的具体代码: 1. 打开天眼查网站并搜索指定的公司,进入公司页面。 2. 在 UiPath Studio 使用“Attach Browser”活动将浏览器与 UiPath 连接起来。 3. 使用“Click”活动点击公司页面的地址信息下的“复制”按钮,将地址信息复制到剪贴板。 4. 使用“Get Clipboard Text”活动获取剪贴板的地址信息。 5. 使用“Matches”活动和正则表达式从文本提取地址信息,并将结果存储到一个字符串变量。 6. 使用“Write Line”活动输出提取的地址信息,以便验证是否正确。 7. 重复上述步骤,获取多个公司的地址信息。 以下是具体的代码示例: ``` // 打开天眼查网站并搜索指定的公司 Attach Browser activity: Target URL = "https://www.tianyancha.com" Type Into activity: Selector = "input[placeholder='请输入公司名、人名、产品名、电话']" Text = "公司名称" Click activity: Selector = "button[class='btn-search']" // 进入公司页面 Click activity: Selector = "a[class='name']" // 获取地址信息 Click activity: Selector = "span[ng-bind='companyDetail.baseInfo.regLocation']" Click activity: Selector = "span[class='fa fa-clipboard']" Get Clipboard Text activity Matches activity: Input = clipboardText, Pattern = "(?<=地址:)[^,]+" Assign activity: Address = matches(0).ToString Write Line activity: Text = Address ``` 在上述代码,需要将“公司名称”替换为要搜索的公司名称。如果需要获取多个公司的地址信息,可以在前面的步骤添加循环,依次搜索指定的多个公司。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值