javascriptseleniumselenium-webdrivernavigatorcircular-reference

javascript error: circular reference error while trying to retrieve navigator.plugins using Selenium and Python


I'm trying to retrieve the value of navigator.plugins from a Selenium driven ChromeDriver initiated Browsing Context.

Using I'm able to retrieve navigator.userAgent and navigator.plugins as follows:

navigator_userAgent_plugins

But using Selenium's execute_script() method I'm able to extract the navigator.userAgent but navigator.plugins raises the following circular reference error:

I've been through the following discussions on circular reference and I understand the concept. But I am not sure how should I address the issue here.

Can someone help me to retrieve the navigator.plugins please?


Solution

  • Circular Reference

    A circular reference occurs if two separate objects pass references to each other. Circular referencing implies that the 2 objects referencing each other are tightly coupled and changes to one object may need changes in other as well.


    NavigatorPlugins.plugins

    NavigatorPlugins.plugins returns a PluginArray object, listing the Plugin objects describing the plugins installed in the application. plugins is PluginArray object used to access Plugin objects either by name or as a list of items. The returned value has the length property and supports accessing individual items using bracket notation (e.g. plugins[2]), as well as via item(index) and namedItem("name") methods.


    To extract the navigator.plugins properties you can use the following solutions: