I would like to be able to perform the following actions from outside the browser, for example from a script

‘’’ Obtain a list of all tabs, and which URL is open Obtain a list of all firefox windows and which tab is in each and in what order Obtain a list of firefox running instances Actions on tabs Close a tab Open a new tab and enter URL move a tab in a window’s tab order move a tab to another window mute/unmute a tab make a tab hidden or unhide pin/unpin a tab select/unselect a tab discard a tab reload a tab copy tab body or a specific xpath run a javascript cmdlet, (bookmarklet ? ) Run a function of a script in somethingmonkey bookmarks list all bookmarks folder and bookmarks move a bookmark to another folder delete a bookmark create a bookmark get/change position of a firefox window close a window/ open a new window list installed addons turn an addon on or off ‘’’

I would love to be able to write script, from outside firefox, and do these actions

I have found about the remote debugger, but I can’t figure out if it’s only for debugging firefox on android via adb ? Or can I use that directly from a script ?

https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-over-the-network

https://wiki.mozilla.org/Firefox_OS/Remote_Control

https://wiki.mozilla.org/Firefox/CommandLineOptions

devtools.debugger.remote-enabled -start-debugger-server ?

Is any of this possible ?

thanks !

    • interdimensionalmeme@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      Thanks that is a great lead ! So webdriver is a common interface of browser remote control.

      Firefox has geckodriver which is a bridge from webdriver protocol to “marionette” which is firefox’ internal remote control protocol.

      Apparently, marionette is an open TCP port where you send a command and it replies in json.

      I could make a batch script that uses netcat to send my commands ! I just need to figure put how to open that port and what the commands are.

      • ahal@lemmy.ca
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        7 months ago

        Yes, IIRC there’s a pref or env that needs to be set too… I want to say MOZ_ENABLE_MARIONETTE, but it’s been awhile.