Безголовный, сценарий Firefox/Webkit на Linux? [закрыто
-
20-09-2019 - |
Вопрос
Я хочу автоматизировать некоторые веб -взаимодействия, а именно периодическую загрузку файлов с безопасного веб -сайта. Это в основном включает в себя введение моего имени пользователя/пароля и перемещение в соответствующий 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.