html敏捷包:网页未 return 完成 html

htmlagilityPack: Web page doesn't return complete html

使用 htmlagilityPack 尝试获取所有 href 链接。但是网页没有return所有链接。

我在浏览器中试过,发现在您向下滚动整个页面之前,它不会显示所有链接。然后我尝试调整(放大)浏览器 window 以便在不向下滚动的情况下可以看到所有页面内容。那一刻所有的链接都出现了。可能是java需要触发....

HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument Doc = web.Load("https://www.verkkokauppa.com/fi/catalog/438b/Televisiot/products?page=1");

foreach (HtmlNode item in Doc.DocumentNode.SelectNodes("//li[@class='product-list-grid__grid-item']/a"))

{                                                                               
 debug.WriteLine(item.GetAttributeValue("href", string.Empty));                      
}

一个页面有 24 个产品链接,但我只得到其中的 15 个。

检查该页面 chrome 中的“网络”选项卡。 https://www.verkkokauppa.com/resp-api/product?pids=467610 有 ajax 个请求。所以使用 javascript.

加载产品

您不能只在此处触发 javascript。 HtmlAgilityPack 是一个 html 解析器。如果你想使用动态内容,你需要浏览器引擎。我认为你应该检查 Selenium and phantomjs.