Разбор веб-страницы с помощью HtmlAgilityPack и имитация щелчка

c# html-agility-pack

Вопрос

Я очищаю определенную веб-страницу с помощью HAP, и я хочу получить доступ к кнопке отправки на странице, но проблема в том, что я не знаю, как это можно сделать в HAP и C #, есть ли способ сделать это?

Принятый ответ

Пакет Agility Pack не является браузером, поэтому, хотя он может анализировать HTML-файл, нет никакого способа реально взаимодействовать с ним. Вы можете найти объект submit , прочитать его свойства и т. Д., Но вы не можете заставить его ничего делать.

У вас есть два варианта:

  • Либо прочитайте форму, создайте объект запроса Http, который соответствует полям форм и методу post, и отправьте его на сервер. Это все ручная работа. Пакет Agility Pack помогает вам перечислять поля в форме и их свойствах

  • Если вам нужно взаимодействовать со страницей, вам понадобится браузер. Существуют безглавые браузеры, такие как PhantomJS, которые фактически загружают страницу, анализируют Javascript и запускают то, что отправлено сервером. Есть обертки вокруг этих оберток для C #, одним из таких примеров является Awesonium . Он похож на HTML Agility Pack, в котором он позволяет анализировать HTML-документы, но он делает это еще на один шаг, фактически запуская его, даже не показывая экран браузера.



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow