cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Dynamic UI Element Selection

I am currently creating a flow to upload copies of checks under the applicable profile on the web.  I have been able to get this to work to upload a document to the attachments section, but I want it to upload to a specific folder within the attachments section. 

 

For example, I want each check uploaded to the "Checks Issued" folder under each profile.  The folders can be in any order, so the UI element selector needs to grab the folder based on naming alone.  I have tried this numerous different ways, but it continues to fail. After looking at the selector builder, it appears that each folder created under the profiles has a specific ID.  The flow fails when it tries to find the "Checks Issued" folder under a different profile because it has a different ID.  I've tried removing the ID but that doesn't work (which makes sense that it would not work).  Is there a way I can modify the Selector Builder to capture any folder based SOLELY on the name of "Checks Issued", regardless of ID?

2021-07-26_12h04_57.png2021-07-26_12h04_43.png

 

14 REPLIES 14

Upon further testing it looks like PDA is not even registering the "Checks Issued" link as an element, even though it looks like it is picking it up with the UI selector.  When I select the "Checks Issued" link as the element to be selected and use that as input for the action "Get details of element on web page" I get this error every time:

 

Element not found.: Robin.Core.ActionException: Failed to retrieve attribute 'Source Link' of UI element on web page. ---> System.Exception: Element not found.
   at Robin.Modules.WebAutomation.Actions.WebAutomationActions.GetDetailsOfElementOnWebPage(Variant webBrowserInstance, Variant cssSelectorForElement, Variant humanFriendlyAttributeName, Variant& attributeValue)
   --- End of inner exception stack trace ---
   at Robin.Modules.WebAutomation.Actions.GetDetailsOfElement.Execute(ActionContext context)
   at Robin.Runtime.Engine.ActionRunner.RunAction(String action, Dictionary`2 inputArguments, Dictionary`2 outputArguments, IActionStatement statement)

 


2021-07-26_14h20_24.png

This is what I need from the table of folders -> but ID needs to be dynamic.

afmc2238_1-1627326044522.png

 

Hi afmc2238!

 

It's great seeing users getting deeper into Power Automate Desktop! As I can understand, you are facing a frequent scenario where you will have to properly construct your selectors.

And by properly, I mean going into full manual mode 🙂 . 

When we deal with dynamic pages, selectors tend to change by each refresh or new visit. So editing your selectors may require some more advanced knowledge of CSS. Well, I can't provide any help in how to write advnaced CSS, because that's entirely up to your needs. But what I can do, is to let you know about a feature that Power Automate Desktop has, which is to allow users to re-capture the same element multiple times and be able to compare them and see where the selectors change.

You can then update the selector manually and see how it works out! 

geavgous_0-1627326812218.png

In the screenshot above, I have captured an element from a date picker, and this is where you will find the functionality of recapturing the element.

 

Let me know how that worked out for you!

 

Thanks,

George

Thank you for sharing with my about that tool! It was helpful to confirm what I mentioned above - that the Id of the folder is what needs to be dynamic.  How can I use a variable here rather than hard code the ID?  Like I mentioned above, I want the selector to grab the folder based on the title of "Checks Issued", regardless of ID.

2021-07-26_15h34_19.png

Click text on screen using OCR would be my best guess.  Then you can separate the text by your filename, or use a Switch->Case scenario to define the folder by the text in the filename.  OCR is very touchy, but there are several other posts about how to use OCR efficiently, including the zoom feature to get a more accurate reading.

 

If you are willing to hardcode all cases by which you could ID all the folders, you could use a Switch->Case to identify the Id=%folderID% by the text in the filename.

Both options are fairly convoluted.  With the second option, as the Employee @geavgous stated, manually attempt this a few times and make sure the ID= is the exact same code for the folder every time before attempting this option.

Best of luck.

----
If my post has answered your question, please thumbs up and mark this post as a solution.

I also offer paid consulting services at www.peakdigitran.com/appointments and you can find me on LinkedIn at https://www.linkedin.com/in/michael-annis-80903/,

Hi @afmc2238 

 

From what I could understand, the folder name is always the same, is that so?

In that case, you could customize your selector to:

a:contains(Checks Issued)

For example:

tkuehara_1-1627516696052.png

 

Thank you! This was something I had tried but it had not worked for this scenario.  However, I had been trying to execute this flow using Chrome.  When I tried the same thing with Edge it appears to work and does not get hung up on folderID.  It automatically seeks out the folder based on name alone. Any idea why there is such a difference between using Chrome vs Edge?

That's interesting. Might be worthy checking if Chrome extension is installed and enabled. In theory it shouldn't have difference if both navigators have the extensions enabled.

Oh it is definitely installed. None of the other steps would work otherwise. 

After more work on this, it appears to be unsolvable. Whether I use Edge, Chrome, the UI selector, or record mode, this does not work consistently. PDA fails to grab the right folder. 

Hi there

 

In the first ever post with the screenshot, please select also the checkbox called "Title" and find and remove the checkbox containg the ID. Then, go to the title that you have selected and put there the name you like either using "Contains" or "Equals" etc. 

Thanks, 

George

Hi - thanks for the suggestion!  I have tried this combination with many others and I get either errors OR the document uploads to the general library rather than going into the specific folder and uploading. If I deselect<tr> entirely, the document uploads to the general library.

2021-08-03_11h44_34.png2021-08-03_11h45_29.png2021-08-03_11h51_45.png2021-08-03_11h53_07.png

 

Anonymous
Not applicable

@geavgous  Hi, George,

Thanks for introducing the way to edit (or add) sector. Just want to learn more about that. I have 2 questions:

(1) The only way to add an element for web page is to by web recorder. I have figured out that Power Automate uses the tag sequence to identify web elements such as "html > body > table > tbody > tr:eq(2) > td > table > tbody > tr > td:eq(2) > table > tbody > tr", so I want to create the element by myself.  how can I create a new element without recording it? You see, I have quite a lot fields on the page and I can get information by browser development tool to edit the sector.

(2) When choose "Add element" in an action, even it is a web action, Power Automation Desktop will record it as UI element, which results that actually it can't be used by the web actions. Is there any way to fix this issue? I tried to change the sector, but found I can't.

 

Thanks a lot for your help!

Anonymous
Not applicable

 

@afmc2238  Hi, you may set a variable and use it in the sector as the demo below. I ever used this solution in web automation elements, it works. (There are several drop down choice items, so I used a number variable in the element to make it dynamic), UI elements should be the same, you can have a try. 

WaleyWang_0-1628244635584.png

 

 

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (1,781)