2012-06-27 13 views
34

Sto esaminando la documentazione di Selenium WebDriver e, ad esempio, può guidare Chrome. Stavo pensando, non sarebbe molto più efficiente guidare 'PhantomJS?È possibile utilizzare Selenium WebDriver per guidare PhantomJS?

C'è un modo di utilizzare Selenium con PhantomJS?

Il mio uso previsto sarebbe il web scraping: I siti che ho caricato sono caricati con AJAX e un sacco di JavaScript adorabili, e penso che questa configurazione potrebbe essere un buon sostituto per il framework Scrapy Python con cui sto attualmente lavorando .

+0

ho notato c'è una classe interna 'PhantomJSDriver: RemoteWebDriver, ITakesScreenshot' ma vi posso creare un'istanza di esso (ancora) –

risposta

56

PhantomJS include ora il GhostDriver project.

Si sono anche suggerito di utilizzare PhantomJS direttamente o con una libreria convenienza, come CasperJS. CasperJS è progettato specificamente per semplificare le operazioni sequenziali alle pagine Web, perfetto per molte attività di automazione.

Disclaimer: Sono l'autore di PhantomJS.

Modifica: Come notato nella risposta di Nick, GhostDriver è ora incluso in PhantomJS.

+0

Oh wow Ariya risposto, stavo leggendo alcune delle tue cose, l'altro giorno, ammiro molto il tuo lavoro. È comunque fantastico, comunque, se non ti dispiace, qual è il modo migliore per integrare PhantomJS/CasperJS in un'applicazione. Stavo pensando di usare il selenio perché voglio che l'intero programma funzioni continuamente e sia continuamente in esecuzione (in tempo reale e leggermente interattivo). Quando stavo andando con la documentazione Phantom ho avuto l'impressione che si tratti di uno strumento da riga di comando per un uso spento, e di chiamarlo da python mi permetterebbe di trasformarlo in un programma completo. Qualche consiglio? – Joseph

+5

Puoi prendere alcune ispirazioni da molti articoli utente di PhantomJS (controlla il wiki). –

+0

Il wiki è vuoto. Eventuali indizi su cui posso ottenere aiuto per farlo funzionare con PHP? – Hippyjim

21

@Joseph, dal momento che la GhostDriver 1.8 rilascio è inclusa nella versione stabile di PhantomJS. Ecco le note esatte sulla versione: http://phantomjs.org/release-1.8.html. Si può semplicemente avviare il processo di PhantomJS per l'ascolto su qualche porta, in questo modo:

phantomjs --webdriver=PORT 

Complimenti a @detro e squadra PhantomJS per il lavoro impressionante!

Problemi correlati