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

如何在Puppeteer Sharp中获取activeElement?

Puppeteer Sharp 获取并操作 activeElement 的可行方案

在Puppeteer Sharp中,你可以通过以下两种方式实现需求:

方法一:分步获取句柄并处理

先获取activeElement的句柄,再在C#端检查文本并执行点击:

// 获取当前激活元素的句柄
var activeElementHandle = await page.EvaluateHandleAsync("() => document.activeElement");

if (activeElementHandle != null)
{
    // 获取激活元素的innerText
    var innerText = await activeElementHandle.EvaluateFunctionAsync<string>("el => el.innerText");
    
    // 检查文本并点击
    if (innerText.Contains("你要匹配的文本"))
    {
        await activeElementHandle.ClickAsync();
    }
}

方法二:在浏览器上下文内完成所有操作(更高效)

直接在页面的JavaScript上下文中完成检查和点击,减少C#与浏览器的通信次数:

await page.EvaluateAsync(@"() => {
    const activeEl = document.activeElement;
    // 避免activeElement为null的情况
    if (activeEl && activeEl.innerText.includes('你要匹配的文本')) {
        activeEl.click();
    }
}");

两种方法都能实现你的需求,方法二更适合简单逻辑的场景,减少往返开销;方法一适合需要在C#端对元素做更多后续操作的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 23:15:34