How to handle dynamic DIV values ?

mylearningmanager

New Member
Hi Guys,

Need some help in resolving this dynamic value of either 8 or 9 to DIV(),

Its for the same element, differing only at DIV parameter value, as shown below.. as and when the application is launched using ie 11 and BP 6.0 versions.

/HTML/BODY(1)/DIV(8)/main(1)/DIV(1)/DIV(2)/FORM(1)/FIELDSET(2)/DIV(2)/DIV(1)/LABEL(2)/SPAN(1)

/HTML/BODY(1)/DIV(9)/main(1)/DIV(1)/DIV(2)/FORM(1)/FIELDSET(2)/DIV(2)/DIV(1)/LABEL(2)/SPAN(1)

Couldn't really get through on which occasions its coming as 8 or 9.

Can someone help me understand how to tackle this,

Appreciate your time and help on this.


Thanks!
 

mylearningmanager

New Member
Do you mean placing a * at DIV(*), as below ?

/HTML/BODY(1)/DIV(*)/main(1)/DIV(1)/DIV(2)/FORM(1)/FIELDSET(2)/DIV(2)/DIV(1)/LABEL(2)/SPAN(1) ?

Didn't tried..

Not really sure, how to use wildcards. Can you resolve pls.?
 
Last edited:

composedgaurav

New Member
In the application modeler, when you Identify an Element, the attributes appear. By default, on the right column, the Match Type is Equal (=). For each attribute, you can change it to Wildcard and use * wherever you want in the Value. By doing this, in your case, it will accept the element with both/any number.
 

Attachments

  • Capture.JPG
    Capture.JPG
    34.7 KB · Views: 899

anisjolly

Administrator
Hi @mylearningmanager

You actually need to use the Dynamic Match Type attribute in the Application Modeller.

- Find the element you would like to interact with in Application Modelletr
- Locate the Path attribute
- Mark the Match checkbox and set the Match Type to Dynamic
- Click Apply and OK

Depending on your interaction with the application - if you're reading/writing or interacting with more than one field - then you will need to use a Calc stage to generate a path and use the Result from the Calc stage within the Parameters of the Read / Write / Navigate stage.

When you open one of these stages up and fill in your 'element' input, you'll see 3 dots to click on to provide a Dynamic value.

Hope this helps to get you on the right path.
 

composedgaurav

New Member
Hi @anisjolly

If he knows that the value is either going to be only 1X2 or 1Y2, isn't Wildcard in place of X the ideal option to choose rather than Dynamic? If not, could you please tell why
 

anisjolly

Administrator
If you use a Wildcard then if for example a value or 1A2 or 1B2 etc is seen, the condition match will be true, meaning you match on values which you were not expecting.

A Dynamic Match Type should be used for known matches that you know exist and can control. That is part of Blue Prism's Best Practice :)
 

mylearningmanager

New Member
To make it more clear of the issue,

The value is always 'Yes', which I want to select and the path is where it is creating an issue where the DIV parameter is differing either with 8 or 9.

Wildcard:
I did tried with the wild card as per screenshot attached, which hangs the application indefinitely, while trying to highlight the element from application modeller. Think, I did what you have advised as per wildcard option.


Dynamic:
If I choose, Dynamic, there are more than 30 - 40 elements which are gonna effect with this change, for which I believe I need to create dynamic path string for each of these 40 elements with a prefix+8/9+Suffix path. Is this what you advise ?

Correct me if I'm deviating from what you advise.

Thanks!
 

Attachments

  • Application Modeller.PNG
    Application Modeller.PNG
    45.3 KB · Views: 642
  • Yes.PNG
    Yes.PNG
    13.8 KB · Views: 599

ebueno

New Member
Hi @mylearningmanager

You actually need to use the Dynamic Match Type attribute in the Application Modeller.

- Find the element you would like to interact with in Application Modelletr
- Locate the Path attribute
- Mark the Match checkbox and set the Match Type to Dynamic
- Click Apply and OK

Depending on your interaction with the application - if you're reading/writing or interacting with more than one field - then you will need to use a Calc stage to generate a path and use the Result from the Calc stage within the Parameters of the Read / Write / Navigate stage.

When you open one of these stages up and fill in your 'element' input, you'll see 3 dots to click on to provide a Dynamic value.

Hope this helps to get you on the right path.
Thanks a lot AnisJolly for your guide. It was crisp and clear. It works perfectly, moving from one row to the next one thru a loop. Great solution!!!
 

SaiSiddhu

New Member
If you use a Wildcard then if for example a value or 1A2 or 1B2 etc is seen, the condition match will be true, meaning you match on values which you were not expecting.

A Dynamic Match Type should be used for known matches that you know exist and can control. That is part of Blue Prism's Best Practice :)

"In different case/scenario"

I have referenced that dynamic value with an data item. Now, If I send that data item from process studio, it is throwing an error(Unable to find the active accessibility element), How to solve this ?

Thanks
 
we need to check how your web page is behaving and how that Div position is changing at what base and based on that we can use loop and Calc stage to make that dynamic path.

i have created lot of dynamic path in my projects.

Note: its purely based on web page behavior
 

SaiSiddhu

New Member
"In different case/scenario"

I have referenced that dynamic value with an data item. Now, If I send that data item from process studio, it is throwing an error(Unable to find the active accessibility element), How to solve this ?

Thanks
Spied the elements in Outlook, gave the dynamic attribute to the choose the folder name.
Its perfectly working in object studio, but not when passing value from process studio.
 

rpa873

New Member
we need to check how your web page is behaving and how that Div position is changing at what base and based on that we can use loop and Calc stage to make that dynamic path.

i have created lot of dynamic path in my projects.

Note: its purely based on web page behavior

How do you use loop and calc stage to make that dynamic path?
 

rpa873

New Member
For instance, in my case I'm calculating the row using the following formula...View attachment 1363
while ID Index variable is modified in a loop, depending if I've found the row to be used ...
View attachment 1364

Thanks for showing me. I tried to do something similar, but sometimes there is data in other DIV which I do not want it to pick up. It still reads it but its not the information I want. Is there anyway i can get around it?
 

ebueno

New Member
Thanks for showing me. I tried to do something similar, but sometimes there is data in other DIV which I do not want it to pick up. It still reads it but its not the information I want. Is there anyway i can get around it?
If sometimes works and sometimes do not, I do realise you have to find the "pattern" to ensure you read data only when it's needed. Perhaps you might wish to use a text variable in a READ stage for capturing any representative HTML attribute (in the example below "path"). So try any of the existing HTML attributes which potentially will identify the HTML in a proper way. Sorry for not being more helpful.

View attachment 1531478821788.png
 

VJR

Well-Known Member
For instance, in my case I'm calculating the row using the following formula...View attachment 1363
while ID Index variable is modified in a loop, depending if I've found the row to be used ...
View attachment 1364
Hi ebueno,
I just happened to see in some of your screenshots that the buttons and text are not showing up fully as expected like on the Evaluate Expression button and the Store Result In caption. For this you might want to make the changes mentioned in the below post which has solved this issue for folks when I directed them to that post.

http://rpaforum.net/threads/display-visualization-problems.445/post-601
 

VJR

Well-Known Member
Hi rpa873,

It's true that as stated by ebueno a pattern needs to be found out to ward off unwanted element values. Something like accepting when an index is reached to 1,3,5,7 and rejecting 2,4,6,8...just an example but you need to identify what that is.
 
Top