2014-11-12 3 views
0

У меня хорошее понимание DOM + HTML и т. Д., Но я новичок в C#, лучший способ загрузки в данный момент (выполнение всех изменений javascript + DOM и т. Д.) И моделирование взаимодействия пользователя с веб-страницей в C#?C# способы отображения веб-страницы и навигации/управления ее DOM?

Я видел пакет гибкости HTML, упомянутый довольно много раз, но он не похож на его обновление с августа 2012 года? Кто-нибудь использовал это недавно и столкнулся с какими-либо проблемами? У C# есть что-то встроенное для этого?

Спасибо!

+0

вы просто пытаетесь автоматически протестировать сайт? Вот что я получаю от фразы «Моделирование взаимодействия с пользователем с веб-страницей в C#». – JNYRanger

+0

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

+0

ugh, это будет болезненно. Существует множество инфраструктур тестирования, которые могут «нажимать» и выполнять действия на веб-сайте, но они действительно не используются в производственной среде для фактического выполнения реальных задач. Я думаю, что у вас будет очень трудное время для реализации этого. Есть ли какой-либо другой маршрут, который вы можете предпринять, чтобы выполнить то, что вы пытаетесь сделать? Большая часть html-agility-pack предназначена для анализа и управления HTML и изменения DOM, но фактически не выполняет на нем действий. – JNYRanger

ответ

1

Прежде всего, HTMLAgilityPack не предназначен для имитации взаимодействия пользователя на веб-странице, HTMLAgilityPack - это гибкий HTML-парсер, который создает DOM для чтения/записи и поддерживает простые XPATH или XSLT (вы на самом деле не должны понимать XPATH или XSLT использовать его, не волнуйся ...).

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

Для взаимодействия с пользователем, полной загрузки веб-страницы, веб-тестирования Я настоятельно рекомендую вам Selenium, Selenium автоматизирует браузеры. Selenium поддерживает несколько языков программирования (Java, C#, Ruby, Python и т. Д.), Вы можете прочитать больше в приведенной выше ссылке с очень хорошей документацией.

Единственный недостатком селена является его открытым браузером, чтобы сделать работу, но это может быть смоделировано в некоторых средах для запуска обезглавленного браузера, вы можете прочитать об этом в следующих ссылках:

Я надеюсь, что это поможет вам