【问题标题】:download data from website using uipath RPA使用 uipath RPA 从网站下载数据
【发布时间】:2019-11-22 10:27:50
【问题描述】:

我已经自动登录并进入下载页面,我有一些我想下载的 pdf。这些pdf是动态的,有时有10个有时100个,每天都在变化。我想下载那些pdf。 请找到所附图片

在这里,我想通过单击第 3 列中的每个元素(以蓝色突出显示的超链接)来下载 pdf,表中的行数是动态的。我如何使用 UIPATH 来完成。

【问题讨论】:

    标签: uipath uipath-studio


    【解决方案1】:

    在不知道您正在使用的应用程序的情况下,我认为您可以尝试几种不同的方法:

    方法一:提取表作为数据表

    也许您可以将表格提取为Data Table,枚举行并找到您可以传递给click活动的各个链接选择器。

    方法 2:动态操作选择器

    使用 UIExplorer 在第三列中找到链接的选择器。通常属性idx 是唯一标识符。您可以构造自己的变量 idx 并在 while 循环中递增此变量,同时将其传递给 click-activitys 选择器:"<your normal selector here someAttr="something" idx="+idx.ToString+"/>

    这样,当click 失败且未找到选择器时,您将位于列的最后一行,并且可以存在 while 循环。

    方法 3:使用查找子项

    另一种方法是使用列或表上的Find children 活动来获取子项,即行。您需要知道要使用哪个过滤器,它基本上是选择器。 Find children 输出 IEnumerable<UIElement> 您可以迭代并传递给 click 活动

    【讨论】:

    • 方法 1 是最好和最方便的方法,我可以下载报告,但似乎我只是一遍又一遍地下载第一个报告。请找到附件中的ui流图url,linklink
    • Your Click TD 里面的 for each。它点击什么?可以分享一下选择器吗?
    • 它将迭代每一行,并在迭代时单击链接并下载第一个报告,然后转到第二行并执行相同操作。我可以看到它正在检测正确的行数,这就是为什么它下载第一个报告的次数与我的行数一样多
    • 是的,但是如果您不更改每次迭代的点击活动选择器,您将一次又一次地点击相同的链接。因此,您需要在数据表中捕获一些信息。我不能说它看起来如何,但请尝试查看第三列(您的文件链接列)。实际应用程序需要一些混乱..
    【解决方案2】:

    共享图像是从网页中抓取表格的完美案例,可以通过 UiPath 的数据抓取向导完成,请参阅this tutorial。这会将您的 html 表转换为 DataTable。此数据抓取向导将处理动态行数以及分页(如果存在)。

    稍后,您需要迭代 DataTable (ForEach activity) 并点击链接下载 PDF 文件。

    【讨论】:

    • 我使用了网络抓取工具,现在我可以下载报告,但我一遍又一遍地下载相同的报告。请找到附件中的uipath流urllinklink
    • 您的代码中存在错误,您应该增加增量变量并确保下载链接变量正在更新。放一些日志或消息框来调试这个问题。
    • link 这只是一个简单的点击动作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    相关资源
    最近更新 更多