c# - 如何从 ElementHandle 中获取文本?

标签 c# .net .net-core webautomation puppeteer-sharp

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

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

现在我有了元素句柄,我如何从中实际获取文本?我没有看到任何明显的方法。我本以为会出现 TextAsync 或类似的东西,但我没有看到。

使用 PuppeteerSharp 5.0。

最佳答案

您可以调用 EvaluateFunctionElementHandle 作为参数传递

var content = await Page.EvaluateFunctionAsync<string>("e => e.textContent", elementHandle);

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

关于c# - 如何从 ElementHandle 中获取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68658430/

相关文章:

c# - Polly - 调用异步 ExecuteAsync (和类似)方法时请使用异步定义的策略

C# 重新加载单例缓存

c# - UpdateAsync 抛出 "Field ' id' 无法识别”错误

javascript - Selenium C# 如何通过 JavaScript 查找元素?

c# - 在Visual Studio 2012中有一种在调试C#时使用F#REPL的方法

.net - 如何将属性添加到 F# 类型中的公共(public)方法?

c# - 协变分配不起作用

azure - 在 azure devops : how can I inject my pipeline variables as appsettings when deploying a docker container to azure?

c# - 从 docker 容器连接到 SQL Server 数据库

c# - 以编程方式分配的 CheckChanged 事件不会触发 gridview 中的复选框控件