Analisi della pagina Web con HtmlAgilityPack e simulazione di un clic

c# html-agility-pack

Domanda

Sto raschiando una certa pagina web usando HAP, e voglio accedere al pulsante di invio sulla pagina ma il problema è che non so come potrebbe essere fatto in HAP e C #, c'è un modo per farlo?

Risposta accettata

HTML Agility Pack non è un browser, quindi mentre può analizzare un file HTML, non c'è modo di interagire realmente con esso. Puoi trovare l'oggetto submit , leggere le sue proprietà e così via, ma non puoi fargli fare nulla.

Hai due opzioni:

  • Leggere il modulo, creare un oggetto Richiesta HTTP che corrisponda ai campi moduli e al metodo post e inviarlo al server. Questo è tutto lavoro manuale. Agility Pack ti aiuta solo a elencare i campi nel modulo e le loro proprietà

  • Se hai bisogno di interagire con la pagina avrai bisogno di un browser. Ci sono browser senza testa, come PhantomJS, che caricheranno effettivamente la pagina, analizzeranno il Javascript ed eseguiranno ciò che viene inviato dal server. Ci sono wrapper attorno a quei wrapper per C #, uno di questi esempi è Awesonium . È simile a HTML Agility Pack in quanto consente di analizzare documenti HTML, ma lo fa un passo avanti, in realtà eseguendolo senza mai mostrare una schermata del browser.



Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché