Вопрос

Я хочу автоматизировать некоторые веб -взаимодействия, а именно периодическую загрузку файлов с безопасного веб -сайта. Это в основном включает в себя введение моего имени пользователя/пароля и перемещение в соответствующий URL.

Я попробовал простые сценарии в Python, за которым следуют более сложные сценарии, только чтобы обнаружить, что этот конкретный веб -сайт использует какой -то неприятный механизм на основе JavaScript и Flash для входа в систему, что делает мои методы бесполезными.

Затем я попробовал htmlunit, но это, похоже, тоже не хочет работать. Я подозреваю, что использование Flash является проблемой.

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

Требования:

  • Запустите на Linux Server (т.е. нет x. Если мне действительно нужно, чтобы XI мог это сделать, но я не буду счастлив.
  • Быть надежным. Я хочу начать эту вещь и больше никогда не думать об этом.
  • Быть сценаристом. Ничего слишком изощренного, но я должен быть в состоянии сказать браузеру различные шаги, которые нужно предпринять и страницы для посещения.

Есть ли какие-нибудь хорошие наборы инструментов для безголового браузера без головы? Вы пробовали что -то подобное, и если да, то у вас есть слова мудрости?

Это было полезно?

Решение

Я выполнил связанное задание с встроенным браузером IE (хотя это было применение GUI с скрытой компонентом браузера). На самом деле вы можете взять любой макет двигатель и вырезать выходную логику. Навигация должна проводиться с помощью сценариев.

Вы можете использовать Лома. Анкет Это безголовая версия Firefox (Gecko Engine). Он превращает браузер в Restful Server, который может принять запросы («URL -адрес»). Таким образом, он разрабатывает HTML, представляет его как DOM, ожидайте определенного задержки для всех выполненных сценариев.

Это работает на Linux. Я полагаю, вы можете легко расширить его для своей цели, используя JS и богатые способности Xulrunner.

Другие советы

Как насчет Phantomjs?

Ты пытался Селен? Это позволит вам записать сценарий использования, используя расширение для Firefox, которое впоследствии можно воспроизвести, используя ряд различных методов.

РЕДАКТИРОВАТЬ: Я только что понял, что это был очень поздний ответ. :)

Посмотри на Webkitdriver. Анкет Проект включает в себя безголостную реализацию Webkit.

Я не знаю, как проводить флэш -взаимодействия (и мне также интересно), но для HTML/JavaScript вы можете использовать Цыпленка.

И чтобы получить браузер без головы + сценарий, работающий над Linux, вы можете использовать QT Webkit Library. Вот пример использования.

Чтобы сделать это, я просто пишу хромированные расширения, которые публикуют в Couchdbs (пример и это Футон) Добавьте кушетку в разрешения в манифесте, чтобы разрешить кросс-домен XHRS.

(Я пришел к этой теме в поисках альтернативы без головы тому, что я делал, нашел эту ветку, я в какой -то момент попробую Crowbbar.)

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top