Your code for Chrome is not necessarily exclusive to Chrome; it works for Brave as well. Below is your code, practically unchanged, showing the URL of the active tab in a Brave window (i.e. "brave.com"). The results are shown in the terminal at the bottom of the Visual Studio Code window. Python 3.8.10 (64-bit) was used.

Opera will require a different control identifier.
Side note, if you're curious which identifiers are available, you can call print_control_identifiers()
to get a detailed breakdown. Here is a portion of the results for an Opera instance:
Control Identifiers:
Pane - 'Secure, Fast...' (L123, T229, R868, B663)
['Secure, Fast...', 'Pane', 'Secure, Fast...', 'Pane0', 'Pane1']
child_window(title="Secure, Fast...", control_type="Pane")
|
| Document - 'Browser DOWNLOADS' (L171, T310, R860, B655)
| ['Browser DOWNLOADS', 'Document', 'Document0', 'Document1']
| child_window(title="Browser DOWNLOADS", auto_id="21440384", control_type="Document")
|
| Pane - '' (L131, T229, R860, B655)
| ['Pane3', 'Browse privately.', 'Browse privately.Pane0', 'Browse privately.Pane1']
|
| TitleBar - '' (L0, T0, R0, B0)
| ['TitleBar']
|
| Pane - '' (L131, T229, R860, B655)
| ['Pane4', 'Browse privately. Search privately. And ditch Big Tech.Pane2']
| |
| | Pane - 'Browser non-client' (L131, T229, R860, B655)
| | ['Browser non-clientPane', 'Pane5', 'Browser non-client']
| | child_window(title="Browser non-client", control_type="Pane")
| | |
| | | Pane - '' (L131, T230, R860, B655)
| | | ['Pane8', 'Browse privately. Search privately. And ditch Big Tech.Pane3']
| | | |
| | | | Pane - '' (L171, T230, R860, B655)
| | | | ['Pane9', 'Browse privately. Search privately. And ditch Big Tech.Pane4']
| | | | |
| | | | | Toolbar - 'Navigation' (L171, T271, R860, B310)
| | | | | ['Navigation', 'Toolbar', 'NavigationToolbar']
| | | | | child_window(title="Navigation", control_type="ToolBar")
| | | | | |
| | | | | | Pane - '' (L173, T276, R858, B305)
| | | | | | ['Pane10']
| | | | | | |
| | | | | | | Edit - 'Address bar' (L310, T276, R787, B305)
| | | | | | | ['Edit', 'Edit0', 'Edit1']
| | | | | | | child_window(title="Address bar", control_type="Edit")
| | | | | | | |
| | | | | | | | Edit - 'Address field' (L395, T276, R546, B305)
| | | | | | | | ['Edit2']
| | | | | | | | child_window(title="Address field", control_type="Edit")
Note at the bottom of the (truncated) output we find the following:
child_window(title="Address field", control_type="Edit")
Using this title, instead of "Address and search bar" for Chrome/Brave, will successfully return the expected data (note that the protocol is also returned with the address in Opera, whereas it is excluded in Brave/Chrome):

I hope this is helpful!