如何从 ElementHandle 中获取文本?

Ang*_*ker 7 .net c# webautomation .net-core puppeteer-sharp

使用 PuppeteerSharp,我试图获取元素的文本。

ElementHandle elementHandle = await page.XPathAsync("//html/body/div[1]/section/div/section/h2")[0];
Run Code Online (Sandbox Code Playgroud)

现在我有了元素句柄,我该如何从中获取文本呢?我没有看到任何明显的方法。我本来期望 TextAsync 或类似的东西,但我没有看到它。

使用 PuppeteerSharp 5.0。

har*_*ded 9

您可以将EvaluateFunctionElementHandle作为参数传递

var content = await Page.EvaluateFunctionAsync<string>("e => e.textContent", elementHandle);
Run Code Online (Sandbox Code Playgroud)

如果您有很多这样的场景,您可以构建一个扩展方法来为您解决这个问题;)