le pack d'agilité html renvoie du code javascript à l'exception du code html

c# html-agility-pack javascript parsing

Question

je veux obtenir les liens en utilisant la console c # depuis un site Web en utilisant le pack d'agilité html mais il y a un code de script java écrit en li et href tag pourquoi le script java change de code sur un clic je ne sais pas s'il vous plaît dites-moi la solution

<li onmouseover="activate_menu('top-menu-61', 61); void(0);" onmouseout="deactivate_menu('top-menu-61', 61);"><a href="javascript:void();

je peux simplement voir cela dans mon li et un tag, comment résoudre ce problème et obtenir du code HTML réel pour pouvoir obtenir des liens furthur

Réponse populaire

Essayez d’utiliser des outils d’automatisation de navigateur tels que Selenium WebDriver pour générer une page Web à l’aide d’un navigateur réel avant de la transmettre à HtmlAgilityPack pour son analyse. L'utilisation de sélénium devrait être assez simple, comme illustré ci-dessous. Vous devez uniquement vous assurer que tous les outils nécessaires (la bibliothèque Selenium et le pilote de navigateur de votre choix) sont correctement installés au préalable:

// Initialize the Chrome Driver (or any other supported browser)
using (var driver = new ChromeDriver())
{
    // open the target page
    driver.Navigate().GoToUrl("the_targt_page_url_here");

    //maybe add selenium waits if needed, 
    //to wait until certain element appear in the page

    //pass the HTML page to HAP's HtmlDocument
    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(driver.PageSource);
}

Selenium permet également de localiser des éléments dans une page. Il est donc possible de remplacer complètement HAP par Selenium, si vous le souhaitez.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi