我在使用chromedp获取amazon时获得ERROR: could not unmarshal event: unknown PrivateNetworkRequestPolicy value
。尝试使用不同的用户代理,但都不起作用。
github.com/chromedp/cdproto v0.0.0-20220816211547-b8b15824df23
github.com/chromedp/chromedp v0.8.4
Google Chrome 104.0.5112.79
怎么了
Google Chrome 104.0.5112.79
有这样的策略(参见browser_procol.pdl#L6178-L6184(:
- 允许
- 阻止从不安全到更多私有
- 从不安全警告到更多私人
- 预制块
- 飞行前警告
并且github.com/chromedp/cdproto v0.0.0-20220816211547-b8b15824df23
支持相同的策略列表(请参阅cdproto(。
所以这个错误看起来是不可能的。
下一步要做什么
PrivateNetworkRequestPolicy
的最后一次更改是97.0.4665.1_9.7.3,它添加了两个新值:
- 预制块
- 飞行前警告
请仔细检查chromedp/cdproto
软件包的版本和浏览器的版本。
既然Chrome 105
已经发布,请升级到此版本。也许它能解决这个问题。
如果您可以启用调试日志来记录无效值,这将非常有用。启用调试日志,如下所示:
ctx, cancel := chromedp.NewContext(ctx, chromedp.WithDebugf(log.Printf))
将chromedp更新到最新版本修复了此问题。
参考:https://github.com/chromedp/chromedp/issues/797
go list -m github.com/chromedp/cdproto
github.com/chromedp/cdproto v0.0.0-20221126224343-3a0787b8dd28