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

.Net环境下Selenium 4.35.0 Edge驱动配置DevTools网络功能遇问题

解决方案:Selenium 4.35.0 Edge DevTools Network事件监听(PowerShell)

你的问题源于Selenium 4不同版本的.NET绑定API差异,旧教程中的AddListener方法在当前4.35.0版本的PowerShell环境中已不再适用,需改用PowerShell适配的.NET事件订阅方式来监听Network模块的事件。以下是修正后的完整实现:

完整代码示例

# 导入Selenium模块
Import-Module -Name "Path to your Selenium module"

# 初始化Edge选项与驱动
$edgeOptions = [OpenQA.Selenium.Edge.EdgeOptions]::new()
$edgeDriver = [OpenQA.Selenium.Edge.EdgeDriver]::new("Path to your EdgeDriver executable", $edgeOptions)

# 获取DevTools会话并启用Network模块
$devToolsSession = $edgeDriver.GetDevToolsSession()
$enableSettings = [OpenQA.Selenium.DevTools.V139.Network.EnableCommandSettings]::new()
# 可选:设置缓冲区大小确保能获取完整响应体
$enableSettings.MaxTotalBufferSize = 1024 * 1024 * 10 # 10MB
$devToolsSession.Domains.Network.Enable($enableSettings) | Out-Null

# 订阅ResponseBodyReceived事件(用于获取响应体)
$responseEvent = Register-ObjectEvent -InputObject $devToolsSession.Domains.Network -EventName ResponseBodyReceived -Action {
    $response = $EventArgs.EventArgs.Response
    $body = $EventArgs.EventArgs.Body
    Write-Host "请求URL: $($response.Url)"
    Write-Host "响应状态: $($response.Status)"
    # 将Base64编码的响应体解码为字符串(如果是文本类型)
    if ($response.MimeType -match 'text|json|html') {
        $decodedBody = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($body))
        Write-Host "响应体内容:`n$decodedBody`n"
    }
}

# 示例:访问目标页面触发网络请求
$edgeDriver.Navigate().GoToUrl("https://example.com")

# 等待事件处理完成(按需调整等待时间)
Start-Sleep -Seconds 5

# 清理资源
$responseEvent | Unregister-Event -Force
$responseEvent | Remove-Job -Force
$edgeDriver.Quit()

关键说明

  1. API差异适配:Selenium 4.35.0的.NET绑定中,Network模块的事件需通过PowerShell的Register-ObjectEvent命令订阅,而非旧版的AddListener方法。
  2. 响应体获取前提:必须启用Network模块时设置足够大的MaxTotalBufferSize,否则可能无法获取完整的响应体。
  3. 事件选择:若仅需监听响应头,可订阅ResponseReceived事件;若需获取响应体,必须订阅ResponseBodyReceived事件,该事件会返回Base64编码的响应内容,需解码后使用。
  4. 资源清理:使用完事件订阅后需手动注销并移除Job,避免PowerShell残留后台进程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 08:52:33