Управление браузером из Python - PullRequest
2 голосов
/ 14 июня 2010

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

Есть ли способ сделать это легко?Я написал свою программную логику на Python и не хотел бы переносить ее на JS.Кроме того, даже если бы я использовал чистые JS "букмарклеты", те не могли бы читать / писать в мою локальную файловую систему, не так ли?

Кроме того, часть содержимого на странице генерируетсяиспользуя AJAX, поэтому я ищу решение, где JavaScript работает в обычном режиме.

PS Чтобы подавить ваши подозрения, я не пытаюсь автоматически заполнять формы создания учетной записи на форуме или что-то подобное спам, хотя задача технически аналогична.Мне нужно сканировать / очищать сайты для моего исследовательского проекта.

РЕДАКТИРОВАТЬ: IEC выглядело многообещающе, но я работаю на Mac.

Ответы [ 3 ]

3 голосов
/ 14 июня 2010

Вы можете попробовать что-то вроде Selenium , которое является приложением для браузерных скриптов на различных языках, включая Python - оно предназначено для кросс-браузерного тестирования, но может делать то, что вы хотите.

1 голос
/ 21 июня 2011

Вы можете реализовать браузер Webkit (на Python):

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
app = QApplication(sys.argv)
web = QWebView()
web.load(QUrl("http://google.com"))
web.show()
sys.exit(app.exec_())

Или использовать Crowbar , который предоставит вам интерфейс API для xulrunner (Firefox).

1 голос
/ 14 июня 2010

Почему бы просто не использовать Python для имитации браузера, парсинга HTML и построения соответствующих HTTP-запросов по необходимости?

Быстрый Google дает следующее:

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