因此,我试图注入一个脚本以在使用addScriptToEvaluateOnNewDocument
chrome 79 的任何页面上运行,但它似乎不起作用。
我正在使用 ruby gem chrome_remote,它提供了对 CDP 的基本访问。
这是一个示例红宝石:
scpt =<<EOF
window.THIS_WAS_SET = 1
EOF
ChromeRemote.client.send_cmd 'Page.addScriptToEvaluateOnNewDocument',{source: scpt}
ChromeRemote.client.send_cmd "Page.navigate", url: "http://localhost:4567/test"
然后我开始使用 chrome--remote-debugging-port=9222
将Page.addScriptToEvaluateOnNewDocument
始终返回{"identifier"=>"1"}
(即使我多次调用它,比如使用不同的脚本)。
当我在 Chrome 中打开的选项卡上打开控制台时(它可以工作,所以我知道 CDP 通常在工作),并检查 的值window.THIS_WAS_SET
,它是未定义的。
有什么方法可以验证命令是否发送到浏览器,例如在浏览器中接收到的日志?有什么方法可以查看注入了哪些脚本?为什么每次调用总是返回ScriptIdentifier
1,这似乎有问题?
有人有类似的例子吗?