我正试图从";李-元素。我似乎遇到了一些问题,变量has
中有19个元素,但我不知道如何挑选实际的innertext值:
string xpath = "//h1[@title='UL']//li";
IElementHandle[] has = await ((IPage)pageTabel).XPathAsync(xp);
IJSHandle ha = has[0].GetPropertiesAsync("value");
我认为例如
foreach (var listItem in has)
{
Console.WriteLine((await listItem.GetPropertyAsync("textContent")).RemoteObject.Value.ToString());
}
会起作用。我不知道浏览器是否也实现了(最初仅限IE)innerText属性,如果他们实现了,那么当然上面的GetPropertyAsync("innerText")
也应该起作用。
如果您更喜欢强类型体验,那么PuppeterSharp.Dom为PuppeteerSharp
提供了一组扩展。
从Nuget.org
安装PuppeterSharp.Dom,然后就可以使用强类型扩展了。
// Add using PuppeteerSharp.Dom; to access XPathAsync<T>
string xpath = "//h1[@title='UL']//li";
var has = await ((IPage)pageTabel).XPathAsync<HtmlListItemElement>(xpath);
foreach (var listItem in has)
{
var textContent = await listItem.GetTextContentAsync();
}