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

如何用C#+Selenium+Chrome DevTools Protocol捕获新标签页网络流量

解决新标签页初始网络请求捕获问题

核心思路是通过CDP的Target域提前监听新页面目标的创建事件,在新标签页初始化阶段就绑定CDP会话并启用Network监控,避免丢失初始请求。

实现步骤

  • 启用CDP的Target域,开启目标发现功能,监听新目标创建事件。
  • 当检测到新页面类型的目标(新标签页)创建时,立即获取对应CDP会话并启用Network域。
  • 为新会话绑定统一的网络事件处理器,实现全窗口流量捕获。

代码示例

主初始化代码

var devTools = (IDevTools)driver;
// 获取主窗口CDP会话
var mainSession = devTools.GetDevToolsSession();

// 启用主窗口的Network监控
await mainSession.Domains.Network.EnableNetwork();
// 开启目标发现,监听新标签页创建
await mainSession.Domains.Target.SetDiscoverTargets(new Target.SetDiscoverTargetsCommandSettings { Discover = true });

// 绑定主会话的网络事件
mainSession.DevToolsEventReceived += OnDevToolsEventReceived;
// 绑定新目标创建事件
mainSession.Domains.Target.TargetCreated += OnTargetCreated;

新目标创建事件处理器

private async void OnTargetCreated(object sender, Target.TargetCreatedEventArgs e)
{
    // 只处理页面类型的目标(排除扩展、后台进程等)
    if (e.TargetInfo.Type == "page")
    {
        var devTools = (IDevTools)driver;
        // 获取新标签页的CDP会话
        var newTabSession = devTools.GetDevToolsSession(e.TargetInfo.TargetId);
        
        // 立即启用Network监控,捕获初始请求
        await newTabSession.Domains.Network.EnableNetwork();
        // 绑定网络事件处理器
        newTabSession.DevToolsEventReceived += OnDevToolsEventReceived;
    }
}

统一网络事件处理器

private void OnDevToolsEventReceived(object sender, DevToolsEventReceivedEventArgs e)
{
    // 处理网络事件,比如RequestWillBeSent、ResponseReceived等
    if (e.EventName == "Network.requestWillBeSent")
    {
        // 解析请求信息
        var requestData = e.EventData.ToObject<Network.RequestWillBeSentEventArgs>();
        // 记录请求逻辑...
    }
    else if (e.EventName == "Network.responseReceived")
    {
        // 解析响应信息
        var responseData = e.EventData.ToObject<Network.ResponseReceivedEventArgs>();
        // 记录响应逻辑...
    }
}

关键说明

  • Target.SetDiscoverTargets必须启用,否则无法捕获新标签页的创建事件。
  • 监听TargetCreated事件的时机要早于新标签页的打开操作,确保在页面发起请求前完成会话绑定。
  • 过滤目标类型为page,避免处理非页面类的浏览器目标,减少无效会话创建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:37:19