如何使用Puppeteer Sharp从h1标签中提取文本?

问题描述

我的问题是: 我正在尝试将http://example.com扩展为Puppeteer Sharp,我想在控制台中显示页面的de h1标签文本。文本为“示例域”。

我有代码

  await new browserFetcher().DownloadAsync(browserFetcher.DefaultRevision);
        var browser = await Puppeteer.LaunchAsync(new LaunchOptions
        {
            Headless = true
        });

        using (var page = await browser.NewPageAsync())
        {
            await page.GoToAsync("http://example.com");
            await page.WaitForSelectorAsync("h1");
            var texto = await page.QuerySelectorAsync("h1");
            Console.WriteLine(texto.ToString());                
        }
        await browser.CloseAsync();

,但控制台显示“ JSHandle @ node”。如何从JSHandle @ node获取h1的值?

非常感谢您。

解决方法

您快到了!

您需要 EvaluateFunctionAsync (),在 QuerySelectorAsync()

之后返回H1的innerText
var texto = await page.QuerySelectorAsync("h1").EvaluateFunctionAsync<string>("_ => _.innerText");