html agility pack возвращает код javascript, за исключением фактического Html

c# html-agility-pack javascript parsing

Вопрос

Я хочу получить ссылки с помощью консоли c # с веб-сайта, используя html agility pack, но есть код java-скрипта, написанный в тегах li и href, почему java-скрипт изменяет код при нажатии. Я не знаю, пожалуйста, скажите мне, как получить реальный код

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

я могу просто увидеть это в моем ли и теге, как решить это и получить актуальный html, чтобы я мог получить ссылки furthur

Популярные ответы

Попробуйте использовать инструменты автоматизации браузера, такие как Selenium WebDriver, чтобы полностью создать веб-страницу, используя настоящий браузер, прежде чем передавать его в HtmlAgilityPack для синтаксического анализа. Использование селена должно быть достаточно простым, как показано ниже. Вам нужно только убедиться, что все необходимые инструменты (библиотека Selenium и драйвер браузера по выбору) установлены правильно заранее:

// 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 также предоставляет способы поиска элементов внутри страницы, поэтому, если хотите, можно полностью заменить HAP Selenium.



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему