Come modificare la preferenza del profilo Firefox dopo aver definito il webdriver utilizzando Selenium e Python

Sep 20 2020

Come modificare la preferenza del profilo dopo aver definito il driver?

profile = webdriver.FirefoxProfile()

driver = webdriver.Firefox(firefox_profile=profile)

Dopo un po 'di codice è necessario impostare useragent

profile.set_preference("general.useragent.override", ua)

Come impostarlo senza definire un nuovo driver?

Risposte

1 GProst Sep 20 2020 at 17:45

Credo che non sia possibile, ma ho trovato alcune soluzioni alternative spiegate in questo articolo, non sono sicuro che questi approcci siano affidabili (o funzionino affatto): https://tarunlalwani.com/post/change-profile-settings-at-runtime-firefox-selenium/

1 DebanjanB Sep 20 2020 at 20:50

In base all'attuale implementazione di Selenium, una volta configurato GeckoDriver con funzionalità specifiche e inizializzato la sessione di Firefox per aprire un contesto di navigazione , non è possibile modificare il runtime delle funzionalità. Anche se sei in grado di recuperare le funzionalità di runtime, non sarai comunque in grado di cambiarle di nuovo.

Quindi, per modificare le preferenze utente di Firefox è necessario avviare una nuova sessione di WebDriver .

Nota : tuttavia, è possibile modificare lo user-agent per Firefox ad ogni esecuzione e si può trovare una discussione pertinente in Come cambiare lo user-agent per il webdriver Firefox in Python?


Riferimento

Ecco un commento chiaro e conciso di @JimEvans (a partire dal 24 ottobre 13 alle 13:02) relativo alla funzionalità delle impostazioni proxy:

Quando si imposta un proxy per un determinato driver, viene impostato solo al momento della creazione della sessione WebDriver; non può essere modificato in fase di esecuzione. Anche se ottieni le capacità della sessione creata, non sarai in grado di cambiarla. Quindi la risposta è no, è necessario avviare una nuova sessione se si desidera utilizzare impostazioni proxy diverse.


Outro

Puoi trovare un paio di discussioni dettagliate pertinenti in:

  • Python e selenio: come cambiare più volte il profilo di Firefox