如何使用 Firefox 的远程调试协议 (RDP) 评估 JavaScript?

How to evaluate JavaScript with Firefox's Remote Debugging Protocol (RDP)?

我正在尝试使用 RDP to automate Firefox, but I could not find a way to evaluate arbitrary JavaScript in the context of current web page. I am looking for a command equivalent to Chrome's Runtime.evaluate

我认为 Firefox 不再追求 CDP 的实现,正如您已经注意到的,Runtime.evaluate 命令似乎不是已实现功能的一部分。很难 100% 确定,因为可用的文档非常稀少,但我对其进行了测试,但它失败了 UnknownMethodError.

Mozilla 目前正在推动一项新协议:WebdriverBiDi。这个新规范应该弥合 REST-based Webdriver 协议和新出现的 Websocket-based DevTools 协议(更灵活和高效)之间的差距。这将是一个 Websocket-based 协议,好消息是 Google、Mozilla、Apple 和其他主要参与者都参与其中。希望这会像 Webdriver 一样成为真正的标准。

鉴于规范的当前草案,我会说 script.evaluate 应该是您将要等待的命令...不过我不知道它何时会到达那里。