Retrieve files using findelement

I am trying to bulk download 2 sets of attachments from an internal company webpage, with the webpage looking as below. The links have no ‘href’ attribute and requires manual clicking to download.

The way I am intending to automate this in UiPath v2019 is via Find Children.

I first tried applying it on Attachment A - the elements are shown below.

image

Based on the pattern, I used the following Selector in the Find Children activity, using the ‘*’ wildcard. For scope, it was FIND_CHILDREN, and the output stored in variable childrenlist. Then I send the click, looping through each element stored in childrenlist.

Selector:
image

image

I ensured the TypeArgument for the For Each activity is UiPath.Core.UiElement.
image

Problem
When I run it however, it only clicks the first attachment, and the run stops after that.

Seeing this, I’m suspecting the Find Children does not work as expected, but I am unsure what is wrong though.

Any advice please?

@Ben_l

Try to debug the workflow and get the count of children list to check whether all the children elements are in the list .Then check the selector if there is any other dynamic attributes are present

HI,

For now, can you try FIND_DESCENDANTS instead of FIND_CHILDREN?

OR

Now, we can use ForEachUiElment activity. This might also work in this case.

Regards,

@sangeethaneelavannan1 yes I debugged it, the count is only 1 indeed.

@Ben_l
So, the selector of find children activity is not working. We must fine-tune the selector of find children.
aaname=“Doc*” try with this

yup, it still returned 1 UiElement.

I’m really puzzled about this, the UIExplorer clearly shows the pattern where a wildcard character should do the job, but it still returns 1 UiElement.

I wonder if there might be other strategies to do the selector?

@Yoichi I’ve tried FIND_DESCENDANTS, and still only 1 UiElement was found.

HI,

Can you share property panel of FindChildren?

Filter should be "<webctl aaname='DocA*' paraentid='PropertyListDisplay' tag='A' />"
And target element is parent element of both elements.

Regards,

@Yoichi, Attached image for the properties of Find Children

image

As for the Target Element, I am not sure if this is correct. Is there anything you are looking out for? Should I be setting Target Element to the ‘DIV’ tag instead?

Hi,

If you need to click DocA001.pdf and DocB001.pdf, can you try the following steps?

First, indicate target element as the following orange rectangle, for example.

Then set FIND_DESCENDANTS at Scope property

Finally, set the following string at Filter property.
(We need to use wildcard at Filter property to get multiple result.)

"<webctl aaname='Doc*'  tag='A' />"

Regards,

Ok, I have indicated element as the rectangle, and there is no ‘aaname’ for use.

Followed by the filter:

image

When doing the debug, it shows:

image

UPDATE

<webctrl aaname='Doc*' parentid='propertyListDisplay' tag='A' />

I used the above as a filter, and the error was gone. However, it still returned just 1 UiElement though.

HI,

Which do you also need to get, DocB001 or DocA002?

If former, can you share its selector (DocB001)?
if latter, can you try to indicate element which contains both element(DocA001 and DocA002)?

Regards,

@Yoichi You pointed me in the correct direction!

My parent element has to be all the way above, and I got the 60 elements now!

image

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.