Любые альтернативы 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 и много больше.