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

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

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

  • Поддержка прокси
  • Поддержка JavaScript - мы должны смочь проанализировать фактический DOM после того, как любой JavaScript выполнился (и надо надеяться событие генерируется для обработки любых вызовов ajax),
  • Способность сохранить все содержание страницы включая изображения ОТ КЭША загруженной страницы до отдельного местоположения
  • способность очистить cookie/кэш, получите cookie/кэш и т.д.
  • Способность установить заголовки и изменить данные сообщения для любого вызова браузера
  • Процесс и/или ориентированный на многопотоковое исполнение был бы идеален
  • И из любви к drogs, API, который не является абсолютно загадочным

Приемлемый C++ языков, C#, Python, что-либо, что может быть простым небольшим фоновым приложением, которое несколько терпимо и не имеет абсолютно "нетрадиционного" синтаксиса как Ruby.

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

5
задан Bad Man 6 April 2010 в 18:54
поделиться

3 ответа

Вы можете попробовать одно из следующих:

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

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

3
ответ дан 14 December 2019 в 19:08
поделиться

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

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

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

1
ответ дан 14 December 2019 в 19:08
поделиться

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

РЕДАКТИРОВАТЬ: Кажется, есть аналог Java под названием Watij

1
ответ дан 14 December 2019 в 19:08
поделиться