You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中通过Puppeteer-Sharp和XPath获取所有li元素的innerText

提取Playwright中
  • 元素的innerText值
  • 你当前代码里用GetPropertiesAsync("value")的方式不对,而且没有正确处理异步操作。要提取<li>元素的innerText,直接用Playwright提供的InnerTextAsync()或TextContentAsync()方法即可——前者获取可见文本,后者获取包括隐藏内容在内的所有文本,按需选择。

    遍历方式实现

    string xpath = "//h1[@title='UL']//li";
    IElementHandle[] has = await ((IPage)pageTabel).XPathAsync(xpath);
    List<string> liInnerTexts = new List<string>();
    
    foreach (var liElement in has)
    {
        // 获取可见文本(对应innerText)
        string text = await liElement.InnerTextAsync();
        liInnerTexts.Add(text);
    }
    

    并行处理简化实现

    如果想提高效率,用Task.WhenAll并行处理所有元素:

    string xpath = "//h1[@title='UL']//li";
    IElementHandle[] has = await ((IPage)pageTabel).XPathAsync(xpath);
    string[] liInnerTexts = await Task.WhenAll(has.Select(li => li.InnerTextAsync()));
    

    注意:GetPropertiesAsync是用来获取元素所有属性集合的方法,不适合直接提取单个文本内容;而且所有异步方法必须加await才能拿到实际结果。

    内容的提问来源于stack exchange,提问作者PeterSchwennesen

    相关产品推荐
    方舟 Agent Plan

    超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

    最近更新时间:2026.08.04 09:35:21