问题描述
我的问题是: 我正在尝试将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的innerTextvar texto = await page.QuerySelectorAsync("h1").EvaluateFunctionAsync<string>("_ => _.innerText");