перед нами стоит задача в основном эмулировать браузер для извлечения веб-страниц, чтобы автоматизировать тестирование на разных веб-страницах. Это будет использоваться для (в идеале) консольных приложений, которые работают в фоновом режиме и генерируют отчеты.
Мы пытались использовать .NET и библиотеку WatiN, но она была построена на Marshalled IE, и поэтому в ней не было многих функций, которые мы взломали при вызовах неуправляемого нативного кода, но в конце концов IE не Потокобезопасен и не безопасен для обработки, и многие из необходимых функций могут быть реализованы только путем изменения значений реестра, и это просто ужасно негибко.
- Поддержка прокси
- Поддержка JavaScript - мы должны иметь возможность анализировать реальный DOM после выполнения любого javascript (и, надеюсь, для обработки любых вызовов ajax возникает событие)
- Возможность сохранения всего содержимого страницы, включая изображения из кэша загруженной страницы, в отдельном месте
- возможность очищать куки / кеш, получать куки / кеш и т. Д.
- Возможность устанавливать заголовки и изменять данные поста для любого вызова браузера
- Идеален процесс и / или потокобезопасность
- И из-за любви к лягушкам, API, который не является полностью загадочным
Допустимые языки: C ++, C #, Python, все, что может быть простым небольшим фоновым приложением, которое несколько терпимо и не имеет полностью «нетрадиционного» синтаксиса, такого как Ruby.
Из моего собственного исследования, и поверьте мне, я ужасен в поиске в Google, я слышал хорошие вещи о WebKit ... Будет ли модуль Qt QtWebKit обрабатывать все эти функции?