Какие-нибудь Python альтернативы Selenium для программного входа на сайты, которые требуют JavaScript для входа? - PullRequest
13 голосов
/ 24 января 2010

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

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

Итак, я сейчас ищу библиотеки, которые извлекают веб-страницы, и выполняют на них JavaScript. Довольно много безголовых браузеров.

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

Есть ли в Python альтернативы Selenium для такого рода вещей?

Ответы [ 6 ]

6 голосов
/ 24 января 2010

Вы можете использовать Pywebkitgtk . Здесь есть хороший учебник .

Кроме того, вы можете использовать Beautiful Soup для получения содержимого страницы и что-то вроде python-spidermonkey для запуска сценариев.

5 голосов
/ 24 января 2010

, так как вы используете селен, я думаю, что вы уже установили Firefox. если это так, получите расширение, например, firebug или tamper data, и посмотрите, какие http-запросы будет выполнять код javascript при входе в систему.

если у вас есть URL и необходимые параметры, вы можете легко запрограммировать клиента Python с помощью httplib или urllib2.

в firebug вы найдете запрошенные URL-адреса в разделе "NET". данные подделки будут информативными. ; -)

3 голосов
/ 07 сентября 2011

Вы также можете использовать Spynner , это позволяет программно просматривать веб-страницы.

2 голосов
/ 25 января 2010

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

Другой вариант для проверки: Windmill (разновидность Selenium, но все написано на Python).

1 голос
/ 24 января 2010

Похоже, QtWebKit - еще один вариант.

0 голосов
/ 24 января 2010

Поскольку BeautifulSoup больше не разрабатывается активно, я бы порекомендовал lxml , поскольку он делает все, что может делать BeautifulSoup, и многое другое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...