我正在尝试获取一个重javascript的网站的HTML,然后使用HtmlAgilityPack分析接收到的HTML。
但是,当尝试使用这行加载数据时,我得到了期望的响应
var docB = fromDoc.LoadHtml(docBContent);
Visual studio对此一无所知,它说:
无法将void分配给隐式类型的变量
完整代码:
var fromDoc = new HtmlDocument();
var docBContent = await renderHtmlAsync(url2);
var docB = fromDoc.LoadHtml(docBContent); // error
public static async Task<string> renderHtmlAsync(string url2)
{
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultChromiumRevision);
Browser browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true
});
var page = await browser.NewPageAsync();
page.DefaultTimeout = 0;
var navigation = new NavigationOptions
{
Timeout = 0,
WaitUntil = new[] {
WaitUntilNavigation.DOMContentLoaded }
};
await page.GoToAsync(url2, navigation);
var content = page.GetContentAsync();
return await content;
}
您不需要从文档中添加符号。加载HTML(文档内容)代码>到变量。
var fromDoc = new HtmlDocument();
var docBContent = await renderHtmlAsync(url2);
fromDoc.LoadHtml(docBContent);
现在你可以使用formDoc了。
喜欢:
var data = fromDoc.DocumentNode.SelectSingleNode("//div");