C# способы визуализации веб-страницы и навигации / управления ее DOM?
У меня хорошее понимание DOM+HTML и т. Д., Но я новичок в C#, каков наилучший способ загрузки, рендеринга (выполнения всех изменений javascript + DOM и т. Д.) И имитации взаимодействия пользователя с веб-страницей в C#?
Я видел, как пакет agility HTML упоминался довольно часто, но он не выглядит как обновленный с августа 2012 года? Кто-нибудь использовал это недавно и сталкивался с какими-либо проблемами? C# имеет что-нибудь встроенное для этого?
Спасибо!
1 ответ
Прежде всего, HTMLAgilityPack предназначен не для имитации взаимодействия пользователя на веб-странице. HTMLAgilityPack - это динамический анализатор HTML, который создает DOM для чтения / записи и поддерживает простой XPATH или XSLT (на самом деле вам НЕ ДОЛЖНО понимать XPATH или XSLT, чтобы его использовать, не волнуйся...).
HTMLAgilityPack не поддерживает JavaScript, это очень важный шаг, потому что у многих разработчиков возникают проблемы с полной загрузкой страницы в браузере и запросом, сделанным HTMLAgilityPack или любой библиотекой, которую вы используете для выполнения запроса.
Для взаимодействия с пользователем, полной загрузки веб-страницы, веб-тестирования я настоятельно рекомендую вам Selenium, Selenium автоматизирует браузеры. Selenium поддерживает несколько языков программирования (Java, C#, Ruby, Python и т. Д.), Вы можете прочитать больше по ссылке выше с очень хорошей документацией.
Единственный недостаток Selenium - это открытый браузер для работы, но в некоторых средах он может быть смоделирован для запуска безголового браузера, вы можете узнать больше об этом по следующим ссылкам:
- Автоматическое тестирование Selenium без головы в Ubuntu
- Безголовый браузер и выскабливание - решения
Я надеюсь, что это поможет вам