使用PuppeteerSharp,我尝试获取元素的文本。
ElementHandle elementHandle = await page.XPathAsync("//html/body/div[1]/section/div/section/h2")[0];
现在我有了元素句柄,如何从它获取文本呢?我没有看到任何明显的方法。我希望使用TextAsync或类似的方法,但我没有看到它。使用 Puppeteer 夏普5.0。
von4xj4u1#
您可以调用EvaluateFunction,将ElementHandle作为参数传递
EvaluateFunction
ElementHandle
var content = await Page.EvaluateFunctionAsync<string>("e => e.textContent", elementHandle);
如果您有许多类似的场景,您可以构建一个扩展方法来为您解决这个问题;)
jutyujz02#
@博坦,谢谢!我试过了(在VB.NET中),发现:
(Await elementhandle.GetPropertyAsync("innerText")).ToString
结果:“JSHandle:foo”,但是
(Await elementhandle.GetPropertyAsync("innerText")).RemoteObject.Value.ToString
结果:“foo”
2条答案
按热度按时间von4xj4u1#
您可以调用
EvaluateFunction
,将ElementHandle
作为参数传递如果您有许多类似的场景,您可以构建一个扩展方法来为您解决这个问题;)
jutyujz02#
@博坦,谢谢!我试过了(在VB.NET中),发现:
结果:“JSHandle:foo”,但是
结果:“foo”