Puppeteer Sharp -在js完成运行后获取html



我使用。net core 3.1和Puppeteer Sharp 2.0.4。我想从JavaScript完成运行后的网页得到完整的页面HTML。这是我的代码:

await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
Browser browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = false
});
var page = await browser.NewPageAsync();
page.DefaultTimeout = 0;
var navigation = new NavigationOptions
{
Timeout = 0,
WaitUntil = new[] {
WaitUntilNavigation.DOMContentLoaded }
};
await page.GoToAsync("https://someurl", navigation);
content = await page.GetContentAsync();

看起来content变量在之后没有HTMLJS运行完毕。有什么建议我应该改变使它工作吗?

navigation替换为WaitUntilNavigation.Networkidle2需要等待Javascript完成才能执行。

using PuppeteerSharp;
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
Browser browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true // false if you need to see the browser
});
var page = await browser.NewPageAsync();
page.DefaultTimeout = 5000; // or you can set this as 0
await page.GoToAsync("https://www.google.com", WaitUntilNavigation.Networkidle2);
var content = await page.GetContentAsync();
Console.WriteLine(content);

最新更新