Browser Arguments

Hi guys, I’m having trouble understanding the use and how to to pass browser arguments in and out other workflows in REFramerwork. What I’m trying to do is to pass the out browser argument from the open browser activity in InitAllApplications to the process transaction state and multiple workflows inside it.

What’s the difference between using browser argument rather than selectors?
What’s the benefits of using browser arguments?

Thanks!

The browser argument is useful if you needed to export the browser object when the application was started (e.g. for activities which only accept this argument and not selectors). The other reason is that it allows you to pass the object without having to rewrite the selector each time.

However, in my experience, using the selector will make things easier to debug, since you can check if it is still valid.

Hello,

For the first time, I have to disagree: you can still check if an element matching any selector exists even if you keep your Browser instance.

Like youy said, by keeping your found / opened browser as a Browser instance, “UiPath” keep track of it for you. You are not requiered to maintain awareness of some pesky details and you benefit from better selection accuracy.

If you ever need to access browser’s property, it’s quite easy that way too. For example, you can retrieve browser’s title simply with

browser.Element.Get("title").ToString

EDIT: If a browser scope is beyond a simple workflow, I set its default to Nothing and set it to Nothing when I close it. For cleanup operation I always make an extra check by selector for completion sake.