Chrome Extension and manifest version 3

A few days ago, google released an update to chrome. This update removed support for manifest version 2 extensions. But share dumb luck, that was the same time I pushed my manifest version 3 version of the OpenRPA extension as well. So luckily we did not get a few days without an working extension.
The new extension has been through a lot of intensive testing, since many things broke, was removed and needed a lot of rewriting of code to work in manifest 3. But it seems google decided to also break a few things with the new update.

Google removed the option to call eval from extensions. This removed the option to update the addon. It also completely removed the option to use “Execute script” activity. Some smart guys found that we could work around that, by using the chrome debugger, but it means execute script is a little slower than normal and you now get an annoying status bar, while the debugger is active (the script is running)

Chrome also decided to break 2 things with the new update ( things that was NOT an issue with the OpenRPA extension before the update, while we were testing it )

  1. pressing back in the browser will break the logic that loads the worker processes, and OpenRPA can no longer work with that page
  2. Several reports that they have issues clicking links made with <a that has an href with script’s in it and in some rare cases also when <a has an onclick event ( I’m still trying to see what all the cases are )

There is no solution to point 1, except, don’t use the back button on a page your automating.
For Point 2, the only solution we have so far, is to use “virtual” set to “false” on “click element” activity.
If the element your clicking is not visible on the screen you will need to add a “focus” activity before the click and then call “item.Refresh()” from “invoke code” or using “assign” activity ( just create a boolean variable to assign it to )
I will create an update for OpenRPA that allows doing those 2 ekstra steps by setting a property on click element, but this is needed until then.

I have uploaded a new version of OpenRPA where Click Element has an “Focus” property. Setting this to True, will make make it call Focus and then Refresh before doing the click.
Get it here

We tracked the issue down to chrome removing some permissions in manifest 3 … this will break certain types of virtual click element that interact with different frames or contains java script in href
This is googles attempt to avoid developers try and load custom code ( sigh … )