Я получаю источник веб-сайта, используя Html Agility pack, который отличается от кода, когда я проверяю с помощью firebug.i, которые искали много вещей, но все еще не понимают, что я должен делать. Источник отличается от кода, когда я проверяю, пожалуйста, скажите мне как получить javascript код тоже с этим Html. Даже когда я отключу javascript в моем браузере, я все еще не могу получить код Javascript вместе с источником. я использую
string url="";
HtmlDocument doc = new HtmlDocument();
WebClient client = new WebClient();
html = client.DownloadString(url);
doc.LoadHtml(html);
чтобы получить источник, скажите мне, нужен ли мне метод запроса и ответа для получения JS-кода.
Чтобы расширить ответ на @alecxe , вы можете использовать Selenium * для загрузки целевой страницы, как это сделал бы настоящий браузер, а затем передать результат в HtmlAgilityPack для дальнейшей обработки:
using OpenQA.Selenium;
.....
IWebDriver driver = new PhantomJS.PhantomJSDriver();
driver.Navigate().GoToUrl(url);
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(driver.PageSource);
В качестве альтернативы вы можете просто запустить свой запрос (селектор XPath или CSS), используя Selenium напрямую, например:
var result = driver.FindElements(By.XPath("your query"));
//print HTML of the returned elements
foreach (var item in result)
{
Console.WriteLine(item.GetAttribute("outerHTML"));
}
*) Необходимо сначала загрузить Selenium, а также драйвер, например PhantomJS, Firefox и т. Д. Selenium можно легко установить в ваш проект из NuGet .