Domanda

quando non riesco a eliminare i cookie FF dal webdriver. Quando utilizzo il metodo .delete_all_cookies , viene restituito None . E quando provo a get_cookies , ottengo il seguente errore:

webdriver_common.exceptions.ErrorInResponseException: Error occurred when processing
packet:Content-Length: 120
{"elementId": "null", "context": "{9b44672f-d547-43a8-a01e-a504e617cfc1}", "parameters": [], "commandName": "getCookie"}
response:Length: 266
{"commandName":"getCookie","isError":true,"response":{"lineNumber":576,"message":"Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMLocation.host]","name":"NS_ERROR_FAILURE"},"elementId":"null","context":"{9b44672f-d547-43a8-a01e-a504e617cfc1} "}

Come posso ripararlo?

Aggiornamento:

Questo succede con un'installazione pulita di webdriver senza modifiche. Le modifiche che ho citato in un altro post sono state apportate dopo la pubblicazione di questo post (stavo cercando di risolvere il problema da solo).

È stato utile?

Soluzione

Hmm, in realtà non ho lavorato con Webdriver, quindi questo potrebbe non essere di alcun aiuto ... ma negli altri tuoi post menzioni che stai sperimentando la modifica della funzione di eliminazione dei cookie webdriver js. Get_cookies ha avuto esito negativo prima di modificare la funzione di eliminazione? Cosa succede quando ricevi i cookie prima di eliminarli? Immagino che la modifica che stai apportando alla funzione di eliminazione in webdriver-sola lettura \ firefox \ src \ extension \ components \ firefoxDriver.js potrebbe interrompere la funzione di eliminazione. Lo stai facendo solo per il debug o vuoi davvero che il browser stesso mostri un pop-up quando il driver gli dice di eliminare i cookie? Non mi sorprenderebbe se questa modifica si interrompesse.

Il mio vero consiglio sarebbe in realtà di iniziare a usare Selenium invece di Webdriver poiché viene interrotto nella sua attuale incarnazione o trasformato in Selenium. Il selenio è sviluppato più attivamente e ha forme piuttosto attive e reattive. Continuerà a essere sviluppato e stabile mentre si sta verificando l'unione, mentre lo prendo Webdriver potrebbe non avere tanti bug risolti in futuro. Ho avuto successo utilizzando i comandi Selenium che controllano i cookie. Sembra che stiano rinnovando la loro documentazione e per qualche motivo non c'è alcun collegamento all'API Python, ma se scarichi selenium rc, puoi trovare il documento API Python in selenium-client-driver-python, vedrai lì sono buoni 5 o più metodi utili per controllare i cookie, che usi nei tuoi metodi Python personalizzati se vuoi, per esempio, eliminare tutti i cookie con un nome corrispondente a un certo regexp. Se per qualche motivo desideri che il browser avvisi () anche alcune informazioni sui cookie eliminati, puoi farlo ottenendo i nomi / i valori dei cookie dal metodo python e quindi passandoli all'istruzione getEval () di selenium che verrà eseguita js arbitrari gli dai da mangiare (come " alert () "). ... Se segui la strada del selenio non esitare a contattarmi se ricevi un blocco, potrei essere in grado di aiutarti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top