Любые альтернативы Python для Selenium для программного входа в веб-сайты, для которых требуется JavaScript для входа?
Я пишу небольшое частное приложение для автоматического входа в мой интернет-банк каждый день и загрузки последних транзакций. Я пишу его как приложение Django, поэтому Im работает в Python.
Мой интернет-банкинг, похоже, работает без JavaScript. Я думаю, что он использует JavaScript для присвоения идентификатора сеанса какого-то рода. Получение страницы входа через httplib
дает мне страницу, на которой мне требуются JavaScripts.
Итак, теперь я ищу библиотеки, которые извлекают веб-страницы, и выполняют JavaScript на них. Довольно бессердечные браузеры.
В настоящее время я размышляю о Selenium. Я думаю, что он выполнит эту работу, хотя он предназначен для тестирования веб-приложений, поэтому мне было интересно, есть ли что-либо с аналогичными возможностями, предназначенными для более общих целей, чем тестирование.
Любые альтернативы Python для Selenium для такого рода вещей?
Ответы
Ответ 1
так как вы используете селен, я думаю, вы уже установили firefox. если да, получите расширение, например, firebug или tamper data, и посмотрите, какие HTTP-запросы будут обрабатывать код javascript во время входа в систему.
Если у вас есть url и необходимые параметры, вы можете легко запрограммировать python-клиент с помощью httplib или urllib2.
в firebug вы найдете запрошенные URL-адреса в разделе "NET". данные тампера будут самоописательными.; -)
Ответ 2
Вы можете использовать Pywebkitgtk. Здесь есть хороший учебник.
В качестве альтернативы вы можете использовать Beautiful Soup, чтобы получить содержимое страницы и что-то вроде python-spidermonkey для запуска скриптов.
Ответ 3
Я думаю, что хорошим решением для вашей проблемы является Twill: простой язык сценариев для веб-браузера.
Другой, который нужно проверить, - Windmill (вид Селена, но все написанный на Python).
Ответ 4
Вы также можете использовать Spynner, он позволяет программно просматривать веб-страницы.
Ответ 5
Похоже, QtWebKit - еще один вариант.
Ответ 6
Поскольку BeautifulSoup больше не активно развивается, я бы рекомендовал lxml, поскольку он делает все, что может сделать BeautifulSoup и много больше.