2014-12-22 13 views
5

Non riesco a trovare come iniziare phantomjs con opzioni della riga di comando come --cookies-file=/path/to/cookies.txt e altro ...Come avviare PhantomJS con le opzioni della riga di comando in selenio?

provato driver = webdriver.PhantomJS('--cookies-file=/tmp/ph_cook.txt') ma niente.

Per ragioni sconosciute add_cookie non funzionano per mantenere l'accesso.

ho cercato di iniziare phantomjs in questo modo:

driver = webdriver.PhantomJS(executable_path = "phantomjs --cookies-file=/tmp/ph_cook.txt --webdriver") 

ma ottenere errore:

raise WebDriverException("Unable to start phantomjs with ghostdriver.", e) 
selenium.common.exceptions.WebDriverException: Message: Unable to start phantomjs with ghost driver. 
+0

Si tratta di un duplicato di http://stackoverflow.com/q/17788223/3124333? – SiKing

+0

@SiKing Linguaggio errato, ma non ho ancora trovato il duplicato. Ci deve essere però. –

+0

@ArtjomB. È tutto selenio, le associazioni linguistiche non dovrebbero avere importanza? – SiKing

risposta

7

È possibile passare degli argomenti della riga di comando per l'istanza PhantomJS dietro le quinte facendoli passare come una lista al service_args argomento:

webdriver.PhantomJS(service_args=['--cookies-file=/tmp/ph_cook.txt']) 

Se il conducente non può essere avviato il n probabilmente i binding della lingua non sono in grado di determinare correttamente la posizione dell'eseguibile di PhantomJS. Potrebbe essere necessario inoltrare inoltre il percorso completo all'argomento executable_path. Si noti che se è stato installato PhantomJS tramite npm, l'eseguibile effettivo non si trova direttamente nella directory globale del pacchetto ma in una sottocartella di esso.

+0

C'è un modo per farlo quando usi webdriver.Remote? In altre parole, se ho phantomJS in esecuzione su seleniumub, posso passarlo a un proxy? webdriver.Remote non accetta service_args come parametro – izyda

Problemi correlati