.net 如何从ElementHandle中获取文本?

pkwftd7m  于 2022-12-01  发布在  .NET
关注(0)|答案(2)|浏览(139)

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

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

现在我有了元素句柄,如何从它获取文本呢?我没有看到任何明显的方法。我希望使用TextAsync或类似的方法,但我没有看到它。
使用 Puppeteer 夏普5.0。

von4xj4u

von4xj4u1#

您可以调用EvaluateFunction,将ElementHandle作为参数传递

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

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

jutyujz0

jutyujz02#

@博坦,谢谢!我试过了(在VB.NET中),发现:

(Await elementhandle.GetPropertyAsync("innerText")).ToString

结果:“JSHandle:foo”,但是

(Await elementhandle.GetPropertyAsync("innerText")).RemoteObject.Value.ToString

结果:“foo”

相关问题