Использование Selenium в фоновом режиме

Я использую Selenium и Chrome WebDriver, но когда я запускаю скрипты, он открывает окно. Есть ли способ получить доступ к Интернету без всплывающего окна?

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()

Например, это идет на сайт моей школы и вводит имя пользователя и пароль, но я хочу сделать это без всплывающего окна браузера, если это возможно.


person Serial    schedule 05.05.2013    source источник
comment
Если вы установите pyvirtualdisplay (оболочку для Xvfb), вы сможете запустить Selenium на безголовом (виртуальном) дисплее. Кори Голдберг показывает хороший пример того, как это сделать это.   -  person unutbu    schedule 06.05.2013
comment
Это будет работать отлично спасибо!!!!   -  person Serial    schedule 06.05.2013
comment
я не могу заставить его работать :(   -  person Serial    schedule 06.05.2013


Ответы (1)


Я бы предложил попробовать использовать безголовый PhantomJs GhostDriver (что является относительно новой вещью). Поскольку это собственный способ Selenium Webdriver сделать это.

Загрузите исполняемые файлы PhantomJs с 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()
person Yi Zeng    schedule 05.05.2013
comment
Я получаю длинное сообщение об ошибке, вот и все: raise WebDriverException("Unable to start phantomjs with ghostdriver.", e) WebDriverException: Message: 'Unable to start phantomjs with ghostdriver.' ; Screenshot: available via screen - person Serial; 06.05.2013
comment
@ChristianCareaga Не могли бы вы сказать, как вы выяснили, как справиться с этой ошибкой? Это то, что мне сейчас предстоит. Спасибо. - person DJG; 24.06.2013
comment
мне пришлось написать полный каталог в phantomjs, я думаю, но я не уверен, что написал это некоторое время назад и в итоге сделал что-то еще - person Serial; 24.06.2013
comment
Я также получаю Невозможно запустить фантомы с помощью ghostdriver. Разработчик, упомянутый в комментарии, не обновил привязки селена python 2.7. Они сломаны или что-то в этом роде. - person Amalgovinus; 16.11.2013
comment
У меня были некоторые проблемы даже с селеном 2.40. Как только я передал полный путь к phantomjs.exe, все заработало нормально. - person blachniet; 03.03.2014