2013-05-05 16 views
8

Uso il selenio e il webdriver chrome ma quando eseguo gli script apre una finestra. C'è un modo in cui può accedere a Internet senza che la finestra compaia?Utilizzo del selenio sullo sfondo

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

driver = webdriver.Chrome() 

driver.get("https://ps.rsd.edu/public/") 
elem = driver.find_element_by_name("account") 
elem.send_keys("Username") 
elem2 = driver.find_element_by_name("pw") 
elem2.send_keys("Password") 
elem.send_keys(Keys.RETURN) 

driver.quit() 

Ad esempio, questo va al sito grado della mia scuola e mette in un nome utente e una password, ma voglio fare questo senza il browser spuntando se è possibile.

+2

Se si installa pyvirtualdisplay (un wrapper per Xvfb), è possibile eseguire Selenium in un display senza testa (virtuale). [Corey Goldberg mostra un bell'esempio] (http://coreygoldberg.blogspot.com/2011/06/python-headless-selenium-webdriver.html) su come farlo. – unutbu

+0

Che funzionerà perfettamente grazie !!!! – Serial

+0

non posso farlo funzionare :( – Serial

risposta

16

Suggerirei di provare a utilizzare GhostsDriver senza testa PhantomJs (che è una cosa relativamente nuova). Poiché questo è il modo nativo del Selenium Webdriver di farlo.

Scarica gli eseguibili di PhantomJs da http://phantomjs.org/download.html.

driver = webdriver.PhantomJS("./phantomjs") # path to phantomjs binary 
driver.get("https://ps.rsd.edu/public/") 

elem = driver.find_element_by_name("account") 
elem.send_keys("Username") 
elem2 = driver.find_element_by_name("pw") 
elem2.send_keys("Password") 
elem.send_keys(Keys.RETURN) 

driver.quit() 
+1

Im ottenendo un lungo messaggio di errore qui è la fine di esso: 'aumentare WebDriverException (" Impossibile avviare phantomjs con ghostdriver. ", E) WebDriverException: Messaggio: 'Impossibile avviare phantomjs con ghostdriver. '; Screenshot: disponibile tramite schermo ' – Serial

+2

@ChristianCareaga Puoi dirmi in che modo hai capito come gestire l'errore? Ecco cosa mi viene in mente ora. Grazie – dg123

+0

ho dovuto scrivere la directory completa su phantomjs penso , ma non sono sicuro di averlo scritto un po 'e ho finito per fare qualcos'altro – Serial

Problemi correlati