base_devtools.network
这里是底层封装、暂时无需知道函数的作用、我只列一些,有可能会用到的函数
EnableNetwork 开启网络监听
NetworkDisable 关闭网络监听
RequestResponseAsync 监听网络请求的、但是这个函数的前提就是需要“EnableNetwork 开启网络监听”
均是一一对应的请求和响应关系。
Arguments
conn *protocol.DevToolsConn, 网络链接
handler func(requestId string, request, response map[string]interface{}) 回调函数
requestId string //本次请求的id信息、主要用于需要获取response的场景、其他时候不需要使用
request //对应的请求
response//对应的响应
Usage:
//示例
var wg sync.WaitGroup // 同步等待
wg.Add(1) // 增加等待的数量
err, p1 := browserObj.OpenPageAndListen("https://www.baidu.com/", func(devToolsConn *protocol.DevToolsConn) {
//第一个处理
devToolsConn.ShowLogJson(true)
network.EnableNetwork(devToolsConn)
network.RequestResponseAsync(devToolsConn, func(requestId string, request, response map[string]interface{}) {
//这里的request & response都是一一对应的请求
fmt.Println(luna_utils.FormatJSONAsString(request),luna_utils.FormatJSONAsString(request))
平时用不上,并不是每个请求都有请求报体;需要根据请求的url自行判断是否需要使用
//network.GetResponseBody(devToolsConn,requestId,time.Minute)
})
})