cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
HEATFreight
Post Prodigy
Post Prodigy

Power Automate Desktop Fails in New Microsoft Edge Build Version 90.0.818.56 Due to Edge Window Title Changing Depending on Which Tabs Are Open

Power Automate Desktop Fails in New Microsoft Edge Build Version 90.0.818.56 Due to Edge Window Title Changing Depending on Which Tabs Are Open

ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL. 


I have the latest versions of Power Automate Desktop (2.8.73.21119) and Microsoft Edge (Version 90.0.818.56).

With previous builds, I never had a problem getting my flow to open a particular webpage in Edge and keep it refreshed.

That's all I need this flow to do: KEEP ME LOGGED INTO THIS WEBSITE. But the logic for that is more complex than you might think at first glance. The reason is because there are multiple states for which this flow may run:

*Already logged in with an active website session for the target URL and Edge Window is open (either minimized, restored, or maximized)

*Already logged in with an active website session for the target URL but Edge process not running (if for instance Edge has not been launched since last reboot of the Hyper-V VM in which I'm running PAD) -
In this case, launching Edge and navigating to the target URL should take me to an active session without needing to login again

*Not logged in, but target URL was the last website open -
In this case, launching Edge should take me to the login page for the target URL

*Whether logged in or not, the target URL is not the current webpage. i.e. some other Edge windows are open or the current Edge window has some other tab open instead of the target URL. This could be a blank new tab or it could be some other webpage.


So here is my problem: depending on which state the VM is in when the flow is launched, the Window Title of the open Edge browser will change. If Edge has already been launched since last reboot, my flow conditionals are able to differentiate between the login page for the target URL and the target URL itself (in an already logged-in session). Everything works as expected in this case. But the situation changes if the VM has been rebooted without launching Edge. Instead of a single Edge window with a single tab, we get whatever the last tab was + a new tab pointed at the target URL. THIS BREAKS THE FLOW, presumably because the Window Title changes depending on what tabs are open, even if the target URL is the open tab.

There's a relevant setting with three options that also contributes to the precise state of the Edge browser as it relates to PAD launching Edge. That setting is called "On startup" and the choices are OPEN NEW TAB, CONTINUE WHERE YOU LEFT OFF, or OPEN A SPECIFIC PAGE OR PAGES.

None of the three options fixes the problem! The problem is that flow actions which need to recognize the title of the Edge window can't do so if more than one tab is open, but the same issue happens regardless of which of those three settings we use.

OPEN A NEW TAB will cause a blank tab to open in the same window as the target URL.

CONTINUE WHERE YOU LEFT OFF will cause two tabs of the target URL to open (or if another webpage was previously open instead of the target URL, then you get one tab with the previous page and one tab pointed at the target URL).

OPEN A SPECIFIC PAGE OR PAGES (with the target URL as the sole webpage) will also result in two tabs -either one blank tab and one tab pointed at target URL or two tabs pointed at target URL, depending on the previous state of Edge.

As I said, if Edge has already launched since last reboot, the flow works fine (assuming the target URL or its login page is the only open Edge tab/window).

The flow fails if some other website is open in an Edge tab/window or if Edge has not been launched since last reboot. I can cause the flow to succeed if I open and close Edge after reboot. But depending on which "On startup" setting is selected, the flow may fail if the last open webpage was something besides the target URL or its login page. If Edge has been opened with a blank tab since last reboot, then I'm pretty sure my flow logic works. But if Edge has been opened with some website other than the target URL, whether that Edge window is still open or not, it seems that launching Edge pointed at the target URL will always result in two tabs: either one blank tab and one target URL tab or one tab with previous webpage and one tab with target URL.

ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL. 

How can I force Edge to always open just the webpage I want?

Remember, CONTINUE WHERE YOU LEFT OFF and OPEN A SPECIFIC PAGE OR PAGES do not work 100% of the time. They fail if Edge has not been launched since last reboot. In this case, WE ALWAYS GET TWO TABS.

The only way I can get it to just open the one tab is if Edge has already been launched and if the only open tab is either the target URL or its login page. In this case, the flow logic works flawlessly.

Previously, with other builds, we never had any trouble getting Edge to open just the one tab with our target URL.

Come on Microsoft, what gives? Why you gotta keep changing crap on us? My flows had to all be re-tagged because you guys got rid of the default Windows-style download dialogues and replaced them with a cleaner downloads button and dialogue built directly into Edge. Well that's great and all but you screwed us over by doing so!

But I fixed that, no big deal. Now it's the [one tab] vs. [multiple tabs] window title discrepancy that's killing us!

I don't suppose there will be a literal fix for the problem so much as a workaround. Can anyone help me think of some logic that would solve this problem? I have tried PowerShell scripts to look for and close all open Edge windows/tabs, but it's hard to make this work even when some Edge windows could be  minimized. And forcing Edge windows to close results in errors from Edge trying to CONTINUE WHERE YOU LEFT OFF or whatever it does. It's completely unclear to me how to get the "On startup" setting to work flawlessly with PAD. 

Oh and to further complicate matters, keep in mind that launching a PAD flow from the cloud vs. launching a PAD flow from the PAD editor vs. launching a PAD flow from the PAD console do not give you the same results! There are certain classes of errors that only happen if you launch from the cloud or maybe the console, but which will not happen when launched from the editor! WTF Microsoft!


ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.
ALL I WANT IS EDGE TO NEVER OPEN ANOTHER TAB BESIDES THE TARGET URL.

1 ACCEPTED SOLUTION

Accepted Solutions
HEATFreight
Post Prodigy
Post Prodigy

I think I have it in a stable configuration with the following steps:

(1) >On startup >Continue where you left off [target URL] +

(2) Edge shortcut saved in my startup folder +

(3) this PowerShell command executed within my PAD flow right before the "Launch New Edge and navigate to target URL" action:

 

taskkill /im msedge.exe;

 

 
But this only works assuming no other Edge windows or tabs are left open besides the target URL. If it's in that configuration, then even though upon reboot Edge opens up with two tabs, my logic will kill the active two-tab Edge window GRACEFULLY and then relaunch Edge to just the one target URL. 👍👍

Quite an elaborate bit of logic to reliably achieve such a simple task of refreshing/logging into a website with only a single tab open. Here's some pseudocode:

 

if(Tab Example.com is open){
Launch New Edge and attach to tab Example.com and store instance into Browser;
Set Window State tab Example.com Maximized;
Send Keys {LControlKey}({R}) to the active window;
Stop Flow successfully;
}

if(Tab Login-Example.com is open){
Launch New Edge and attach to tab Login-Example.com and store instance into Browser;
Set Window State tab Example.com Maximized;
Click UI element in window Button 'LOGIN';
Stop Flow successfully;
}

if(Tab Example.com is not open){
Run PowerShell script taskkill /im msedge.exe;
Launch New Edge and navigate to tab Example.com and store instance into Browser;
Click UI element in window Button 'LOGIN';
Set Window State tab Example.com Maximized; //not sure why i maximize this one after clicking, but it's working so i hesitate to change anything ¯\_(ツ)_/¯
Stop Flow successfully;
}

 

 

View solution in original post

2 REPLIES 2
HEATFreight
Post Prodigy
Post Prodigy

I have discovered that I can prevent Edge from opening with two tabs if I close it and re-open it.

I don't know how to make Edge open just the one desired tab on launch, but I added it to my startup folder anyway. So now if my "refresh" flow runs after the VM has rebooted, the Edge process is already running and this means I can close and relaunch it with just one tab.

What a frickin sh t show! Should not be this difficult to reliably open a single tab!

HEATFreight
Post Prodigy
Post Prodigy

I think I have it in a stable configuration with the following steps:

(1) >On startup >Continue where you left off [target URL] +

(2) Edge shortcut saved in my startup folder +

(3) this PowerShell command executed within my PAD flow right before the "Launch New Edge and navigate to target URL" action:

 

taskkill /im msedge.exe;

 

 
But this only works assuming no other Edge windows or tabs are left open besides the target URL. If it's in that configuration, then even though upon reboot Edge opens up with two tabs, my logic will kill the active two-tab Edge window GRACEFULLY and then relaunch Edge to just the one target URL. 👍👍

Quite an elaborate bit of logic to reliably achieve such a simple task of refreshing/logging into a website with only a single tab open. Here's some pseudocode:

 

if(Tab Example.com is open){
Launch New Edge and attach to tab Example.com and store instance into Browser;
Set Window State tab Example.com Maximized;
Send Keys {LControlKey}({R}) to the active window;
Stop Flow successfully;
}

if(Tab Login-Example.com is open){
Launch New Edge and attach to tab Login-Example.com and store instance into Browser;
Set Window State tab Example.com Maximized;
Click UI element in window Button 'LOGIN';
Stop Flow successfully;
}

if(Tab Example.com is not open){
Run PowerShell script taskkill /im msedge.exe;
Launch New Edge and navigate to tab Example.com and store instance into Browser;
Click UI element in window Button 'LOGIN';
Set Window State tab Example.com Maximized; //not sure why i maximize this one after clicking, but it's working so i hesitate to change anything ¯\_(ツ)_/¯
Stop Flow successfully;
}

 

 

Helpful resources

Announcements
Power Automate News & Announcements

Power Automate News & Announcements

Keep up to date with current events and community announcements in the Power Automate community.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (3,342)