Problems with the dynamic selector

Hello everyone!
Please help me solve a big problem for me

I’m making a website parser. And there is always a different number of values in one field. Sometimes 3 lines and sometimes 10. I’m making a dynamic selector (I need exactly this option). How can a robot quickly realize that it has taken all the values? For example, selector selects the last, fifth value, and then realizes that it is the last and stops.

I had a couple of ideas, but the robot then does unnecessary actions and spends more time :frowning:

Can you share screenshots on what you need please?

I can show you the example of the Amazon website.

For example, I need take some information from product cards.

On the first card in the section “About this item” there are 5 lines (highlighted with a bulleted list). On the second card - 6 lines.

I know that I can take the entire “About this item” section. But sometimes I need to use a dynamic selector.

How can the robot understand that it is necessary to take 5 lines from the first page, each time moving the selector to the next line, but take 6 from the second page?

It should work using the get text or scrape and taking the entire selector on the text container, did you try scraping the entire container? It should retrieve all the text, no matters how much lines being here

1 Like

Yes, I know that I can take the whole container. But sometimes I just need to use selector on line and then need to move this selector to the next line (for my tasks) and I don’t understand how to set the end of this cycle for the selector.

@appleikmek There is something called aaname(name of the element on what you want to perform an action) in the selector . Once you get the selector for an element, open it in Ui Explorer and check an attribute called aaname

Ex: In the first card if you want to perform something on the last point then , Durable Construction: The Kraken etc… will be the aaname

  • If you find this attribute in the selector then you can pass the aaname through variable (dynamic selector). So that it perform the actions on the specific element. check the below doc on how to pass the variables in selector

Hi @appleikmek

Have a look on the thread

Regards
Gokul

Hello @appleikmek,

Did you try to do scraping data? Then you get a datatable, and from there choose the 5 last rows :slight_smile:

Hi @appleikmek

You can try with Screen Scrapping methods

Select the Full Text in the Scrapping method

Regards
Gokul

Hi @appleikmek ,

Could you give this workflow a try and see if it works out for you?

Here is the selector I refined →

<html app='chrome.exe' title='Amazon.com*' />
<webctrl id='feature-bullets' tag='DIV' />

Here are the operations I performed to refine it →

To get data after the anchor:

System.Text.RegularExpressions.Regex.Match(str_extractedText,"\[.*").Value

To retrieve a List of the Bullet Points:

System.Text.RegularExpressions.Regex.Split(str_refinedData,"\s{2}").Where(Function(w) Not(IsNothing(w) OrElse String.IsNullOrWhiteSpace(w.ToString))).ToList()

ExtractBulletDataFromAmazon.xaml (7.8 KB)

Kind Regards,
Ashwin A.K