I’m working on migrating code from IE support to Edge. I having all kinds of issues so I decided to write a little test that:
- Opens the browser to a specific URL
- Checks for a specific string
- If the string exists, click on a couple of links
Note that this is my client’s URL and when I start it up in Edge, I get the notification that “This page is open in Internet Explorer mode.” I think this might be the crux of the problem.
No matter what I do, I can’t get the Element Exists and Click activities to recognize the controls. With the Click activity, for example, I add it to my XAML, select “Indicate element inside browser”, click the link I want and it appears to work with no errors. I then go into the Selector Editor and it shows that it isn’t valid. I then select “Indicate Element”, select the link and the Validate button turns green. If I click Validate, it goes to red again and isn’t valid.
Note that I also tried using the Record option to record the steps listed above. It completed and saved the steps with no errors, however, the selectors still came back as invalid.
Any help would be greatly appreciated as we have quite a few processes that have to be migrated to Edge as IE is no long supported by my client.
Try keeping Attach browser
- And pass the interactive activities like Click and Type into inside that
No luck. This is my sample code:
For one, you’re using the Chromium API for Input mode, change that to Windows Messages or Simulate.
Two, have you checked your selectors aren’t too specific. I haven’t worked in Edge before but your selector may be unreliable.
Three, have you tested changing the selector engine, for example to access accessibility.
You may want to ensure that the browser extension is downloaded and enabled. If this is not enabled selectors are created but do not work when running/debugging the bot.
Chromium API should not affect edge as is a Chromium based browser.
- I’ve tried Chromium API, simulate and Windows Messages with the same results.
- The selectors are as UIPath generated them. I used “Indicate on screen” and directly afterwords, tried to validate. It failed.
- I switched from “Default” to “Access Accessibility” but no luck. However, I tried “UI Automation” and that seemed to do the trick.
I’m glad I was able to find a possible solution with your help, but with the number of browser-heavy processes I have to migrate to Edge, this will be EXTREMELY time intensive if I have to go into UI Explorer for every browser activity, change the option, reselect the control, validate and save. This CAN’T be the only option, can it??
Thank you for your help,
Didn’t know that, thanks for the correction
If you’ve changed the engine, yes you will have to re-do all of them as far as I’m aware.
I’ll give your issue some troubleshooting on my end a little later and report back what I find. Hopefully this is just a little issue we can solve without changing the selectors too much.
Hi @carlor ,
The default and most capable type of selector for browsers is the one that contains a top-level tag and some following tags. Switching the automation framework will provide the same element with a different type of selector and should not be a general strategy for interacting with browsers.
Input modes should certainly not affect the validity of selectors and generally, I suggest trying them in this order: Chromium API, Simulate, Hardware Events, Send Window Messages.
Getting back to your problem, does the selector change after indicating the element again? Please try to do the operation from UiExplorer:
- Indicate the element and copy the selector somewhere
- Validate (here we expect a failure - red button)
- Indicate the element again and check the selector.
If the selector is the same, then there might be a bug somewhere. If it isn’t the same, then you need a better one. If you do the above test, please provide us the selector, and maybe a screenshot from UiExplorer with the whole selector.
Thank you for replying. I’ve tried with little success.
This is my sample process:
Here is the Edge browser:
The Element Exists is looking for the “This site is not secure” block. Note that the circled part shows “Internet Explorer mode” when hovering over it.
UIExplorer after Indicate Element and using the UI Frameworks set to Default:
The only way I’m able to get it to validate is to use UIExplorer after Indicate Element and using the UI Frameworks set to UI Automation:
Also, using the regular “Edit Selector”, I get the same failed selector every time I try. Hopefully this isn’t the only way to get this to work, otherwise, it’s going to be a VERY long and VERY tedious task to migrate all of our processes.
I too have same issue with edge browser. Please let me know if you found a solution for this.
Do you have Edge extension installed?
Sorry for the delay, but I do have the extension installed.
I managed to get it working but it wasn’t easy. It took a lot of playing around in UI Explorer trying different things till it finally worked.
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.