Селен с Python, как мне получить вывод страницы после запуска скрипта? - PullRequest
3 голосов
/ 26 августа 2010

Я не уверен, как найти эту информацию, я нашел несколько учебных пособий по использованию Python с селеном, но ни один из них не затрагивал этого. Я могу запустить некоторые базовые сценарии тестирования через python, которыеавтоматизировать селен, но он просто показывает окно браузера на несколько секунд, а затем закрывает его .. Мне нужно получить вывод браузера в строку / переменную (в идеале) или, по крайней мере, сохранить его в файл, чтобы Python мог делать другие вещи наэто (разбор и т. д.). Буду признателен, если кто-нибудь подскажет мне, как это сделатьСпасибо

Ответы [ 3 ]

3 голосов
/ 10 августа 2013

используя Selenium Webdriver и Python, вы просто получите доступ к свойству .page_source, чтобы получить источник текущей страницы. Например,

, используя драйвер Firefox():

from selenium import webdriver


driver = webdriver.Firefox()
driver.get('http://www.example.com/')

print(driver.page_source)

driver.quit()
2 голосов
/ 26 августа 2010

В Java есть метод Selenium.getHtmlSource(), скорее всего, он также доступен в Python.Возвращает источник текущей страницы в виде строки, поэтому вы можете делать с ней все, что захотите

2 голосов
/ 26 августа 2010

Хорошо, вот как я это сделал, для тех, кому это нужно в будущем.

Вы должны использовать Firefox, чтобы это работало.

1) создайте новый профиль Firefox (не обязательно, но идеально, чтобы отделить его от обычного использования Firefox), есть много информации о том, как это сделать в Google, зависит от вашей ОС, как вы это делаете

2) получите плагин firefox: https://addons.mozilla.org/en-US/firefox/addon/2704/ (при этом автоматически сохраняются все страницы для данного доменного имени), вам необходимо настроить его так, чтобы сохранять любые домены, которые вы планируете автоматически сохранять.

3) затем просто запустите сервер selenium для использования созданного вами профиля (ниже приведен пример для linux)

cd /root/Downloads/selenium-remote-control-1.0.3/selenium-server-1.0.3 
java -jar selenium-server.jar -firefoxProfileTemplate /path_to_your_firefox_profile/

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

...