mozilla / geckodriver

WebDriver for Firefox
https://firefox-source-docs.mozilla.org/testing/geckodriver/
Mozilla Public License 2.0
7.03k stars 1.51k forks source link

We need an API for toggling extensions and managing. Currently I have to mess with `about:addons` #2109

Open KOLANICH opened 1 year ago

KOLANICH commented 1 year ago

System

As suggested in https://github.com/SeleniumHQ/selenium/issues/7402#issuecomment-1529149707 I create an issue here.

🚀 Feature Proposal

An API for managing extensions is needed:

  1. installation from AMO
  2. switching on
  3. switching off
  4. switching availability in private mode
  5. getting list of permissions

Motivation

Not to mess to about:addons for that.

Example

addons.install("addon amo id") -> Addon
addons.list # list of addons
addon.uninstall()
addon.permissions
addon.updateMode
addon.manifest # manifest dict
addon.content # allows accessing files inside of addon, for example getting their URIs
addon.pages # different pages, like setting page
addon.disabled # allows disabling/enabling and getting status
whimboo commented 1 year ago

Please note that this request is all about vendor specific end-points for WebDriver classic (or Bidi in the future) and related to chrome scope support. All that and the fact that our focus is currently on WebDriver BiDi I do not think that any of the above we will be able to do except maybe for private browsing mode.

If you need private browsing mode we happily accept contributions via https://bugzilla.mozilla.org/show_bug.cgi?id=1810718 and a related geckodriver issue (to be filed once fixed). I'm happy to mentor as well.