Эмуляция веб-браузера - PullRequest
       5

Эмуляция веб-браузера

5 голосов
/ 06 апреля 2010

перед нами стоит задача в основном эмулировать браузер для извлечения веб-страниц, чтобы автоматизировать тестирование на разных веб-страницах. Это будет использоваться для (в идеале) консольных приложений, которые работают в фоновом режиме и генерируют отчеты.

Мы пытались использовать .NET и библиотеку WatiN, но она была построена на Marshalled IE, и поэтому в ней не было многих функций, которые мы взломали при вызовах неуправляемого нативного кода, но в конце концов IE не Потокобезопасен и не безопасен для обработки, и многие из необходимых функций могут быть реализованы только путем изменения значений реестра, и это просто ужасно негибко.

  • Поддержка прокси
  • Поддержка JavaScript - мы должны иметь возможность анализировать реальный DOM после выполнения любого javascript (и, надеюсь, для обработки любых вызовов ajax возникает событие)
  • Возможность сохранения всего содержимого страницы, включая изображения из кэша загруженной страницы, в отдельном месте
  • возможность очищать куки / кеш, получать куки / кеш и т. Д.
  • Возможность устанавливать заголовки и изменять данные поста для любого вызова браузера
  • Идеален процесс и / или потокобезопасность
  • И из-за любви к лягушкам, API, который не является полностью загадочным

Допустимые языки: C ++, C #, Python, все, что может быть простым небольшим фоновым приложением, которое несколько терпимо и не имеет полностью «нетрадиционного» синтаксиса, такого как Ruby.

Из моего собственного исследования, и поверьте мне, я ужасен в поиске в Google, я слышал хорошие вещи о WebKit ... Будет ли модуль Qt QtWebKit обрабатывать все эти функции?

Ответы [ 3 ]

3 голосов
/ 06 апреля 2010

Вы можете попробовать один из них:

http://code.google.com/p/spynner/

http://code.google.com/p/pywebkitgtk/

1 голос
/ 06 апреля 2010

Я только недавно копался в этом, поэтому я не могу сказать, что это делает все, что вы перечислили, но посмотрите GeckoFx .

С сайта: GeckoFX - это компонент с открытым исходным кодом , который позволяет легко встраивать Mozilla Gecko (Firefox) в любое приложение .NET Windows Forms. Написанный на чистом, полностью комментированном C #, GeckoFX является идеальной заменой стандартного элемента управления WebBrowser на основе Internet Explorer.

Что касается моих собственных впечатлений: он поразил стандартный веб-браузер .NET как по производительности, так и по стабильности.

1 голос
/ 06 апреля 2010

Я знаю, вы упомянули, что вам не нравится синтаксис Ruby (как и я), но я просто должен вмешаться и сказать, что Watir , вероятно, лучшая вещь для того, что вы пытаетесьdo.

РЕДАКТИРОВАТЬ: Похоже, что Java-контрагента называется Watij

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