Firefox 功能¶
geckodriver 有一些特定于 Firefox 的功能。其中大部分在 MDN 上有记录。
此外,我们还有一些功能,这些功能主要属于实现问题,普通用户无需关心。
moz:debuggerAddress
¶
一个布尔值,指示是否必须启用远程协议来启动 Firefox,这是一个低级调试接口,实现了Chrome DevTools 协议 (CDP) 的一个子集。
启用后,New Session
命令返回的 moz:debuggerAddress
功能是支持以下 HTTP 端点的服务器的 host:port
组合。
GET /json/version¶
浏览器版本元数据
{
"Browser": "Firefox/84.0a1",
"Protocol-Version": "1.0",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:84.0) Gecko/20100101 Firefox/84.0",
"V8-Version": "1.0",
"WebKit-Version": "1.0",
"webSocketDebuggerUrl": "ws://127.0.0.1:9222/devtools/browser/fe507083-2960-a442-bbd7-7dfe1f111c05"
}
GET /json/list¶
所有可用 websocket 目标的列表
[ {
"description": "",
"devtoolsFrontendUrl": null,
"faviconUrl": "",
"id": "ecbf9028-676a-1b40-8596-a5edc0e2875b",
"type": "page",
"url": "https://www.mozilla.org/en-US/",
"browsingContextId": 29,
"webSocketDebuggerUrl": "ws://127.0.0.1:9222/devtools/page/ecbf9028-676a-1b40-8596-a5edc0e2875b"
} ]
包含的 webSocketDebuggerUrl
条目可用于连接到 websocket 并通过使用 CDP 协议与浏览器交互。
moz:webdriverClick
¶
一个布尔值,指示在对元素执行点击或发送键时要运行哪种交互性检查。对于 58.0 之前的 Firefox 版本,使用了从旧版 FirefoxDriver 导入的一些遗留代码。
使用 Firefox 58,[WebDriver] 规范所需的交互性检查默认启用。这意味着 geckodriver 在点击时还会额外检查元素是否被另一个元素遮挡,以及元素是否可聚焦以发送键。
由于这种行为的变化,我们意识到可能会返回一些额外的错误。在大多数情况下,可能需要更新相关的测试,使其符合新的检查。但如果问题出在 geckodriver 中,请在 [问题跟踪器] 中提出问题。
要临时禁用符合 WebDriver 的检查,请使用 false
作为此功能的值。
请注意,此功能仅临时存在,并且一旦交互性检查稳定,它将被删除。