标志

--allow-hosts ALLOW_HOSTS

允许传入请求的 Host 标头值。

默认情况下,允许 HOST 的值。如果提供了 --allow-hosts,则只允许给定的值。例如 --allow-host geckodriver.test webdriver.local 将允许 Host 设置为 geckodriver.testwebdriver.local 的请求。

Host 设置为 IP 地址的请求始终允许。

--allow-origins ALLOW_ORIGINS

允许传入请求的 Origin 标头值。

对于所有 POST 请求以及大多数其他跨源请求,Web 浏览器都会设置 Origin。默认情况下,拒绝任何带有 Origin 标头的请求,以防止恶意网站尝试访问本地机器上运行的 geckodriver。

如果提供了 --allow-origins,则在给定来源上运行的 Web 服务将能够向 geckodriver 发出请求。例如 --allow-origins https://webdriver.test:8080 将允许方案为 https、主机名为 webdriver.test 且端口为 8080 的来源上的基于 Web 的服务访问 geckodriver 实例。

--android-storage ANDROID_STORAGE

**弃用警告**:此参数已弃用,计划在 geckodriver 的 0.31.0 版本中删除。因此,在 0.30.0 或更高版本中不应再使用它。默认情况下,自动检测现在将使用外部存储位置,该位置始终可读写。

选择 Android 设备上的测试数据位置,例如 Firefox 配置文件。默认情况下,使用 auto

描述
auto根据设备是否已 root 选择最合适的位置。
如果设备已 root,则使用 `internal`,否则使用 `app`。
app

位置:`/data/data/%androidPackage%/test_root`

基于创建新会话时作为 `moz:firefoxOptions` 的一部分传递的 `androidPackage` 功能。更改应用程序目录中数据的命令使用 run-as 执行。这要求安装的应用程序可调试。
internal

位置:`/data/local/tmp/test_root`

设备必须已 root,因为当应用程序运行时,在配置文件中创建的文件(归应用程序用户所有)无法由 shell 用户更改。命令将通过 `su` 执行。
sdcard

位置:`$EXTERNAL_STORAGE/Android/data/%androidPackage%/files/test_root`

无论设备是否已 root,此位置都受所有版本的 Android 支持。

-b BINARY / --binary BINARY

要使用的 Firefox 二进制文件的路径。默认情况下,geckodriver 会尝试查找并使用 Firefox 的系统安装,但可以通过使用此选项来更改此行为。请注意,当 创建新会话 时传递的 moz:firefoxOptions 对象的 binary 功能将覆盖此选项。

在 Linux 系统上,它将使用通过搜索 PATH 环境变量找到的第一个 firefox 二进制文件,这大致等同于调用 whereis(1) 并提取第二列

% whereis firefox
firefox: /usr/bin/firefox /usr/local/firefox

在 macOS 上,通过以与 Linux 系统相同的方式查找第一个 firefox 二进制文件来查找二进制文件。这意味着也可以使用 PATH 来控制 geckodriver 应该在 macOS 上查找 Firefox 的位置。然后它将查找 /Applications/Firefox.app

在 Windows 系统上,geckodriver 通过扫描 Windows 注册表来查找系统 Firefox。

--connect-existing

将 geckodriver 连接到现有的 Firefox 实例。这意味着 geckodriver 将放弃启动新 Firefox 会话的默认行为。

现有的 Firefox 实例必须启用了 Marionette。要在 Firefox 中启用远程协议,可以传递 --marionette 标志。除非已用户设置 marionette.port 首选项,否则 Marionette 将在端口 2828 上侦听。因此,当使用 --connect-existing 时,您可能还需要使用 --marionette-port 来设置正确的端口。

--host HOST

用于 WebDriver 服务器的主机。默认为 127.0.0.1。

--jsdebugger

在 Firefox 启动时附加 浏览器工具箱 调试器。这对于调试 Marionette 内部很有用。

要在测试运行开始时或测试之间提示,可以将 marionette.debugging.clicktostart 首选项设置为 true

作为参考,以下是启用 Chrome 调试器的首选项列表。在将参数传递给 geckodriver 时,所有这些都隐式设置。

  • devtools.browsertoolbox.panel -> jsdebugger

    默认情况下选择调试器面板。

  • devtools.chrome.enabled → true

    启用 Chrome 代码的调试。

  • devtools.debugger.prompt-connection → false

    控制远程连接提示。请注意,这将自动将您的 Firefox 实例公开到 localhost。

  • devtools.debugger.remote-enabled → true

    允许远程调试器连接,这对于调试 Chrome 代码是必要的。

--log LEVEL

设置 Gecko 和 geckodriver 日志级别。可能的值为 fatalerrorwarninfoconfigdebugtrace

--log-no-truncate

禁用长日志行的截断。

--marionette-host HOST

选择 geckodriver 连接到 Marionette 远程协议的主机。默认为 127.0.0.1。

--marionette-port PORT

选择 geckodriver 连接到 Marionette 远程协议的端口。

在 geckodriver 启动并管理 Firefox 进程的默认模式下,它将选择系统分配的空闲端口,并在配置文件中设置 marionette.port 首选项。

当使用 --connect-existing 且 Firefox 进程不受 geckodriver 控制时,它将简单地连接到 PORT

--connect-existing: #connect-existing

-p PORT / --port PORT

用于 WebDriver 服务器的端口。默认为 4444。

一个有用的技巧是,可以绑定到 0 以使系统原子地分配一个空闲端口。

--profile-root PROFILE_ROOT

创建临时配置文件时要使用的目录的路径。默认情况下,这是系统临时目录。geckodriver 和 Firefox 都必须对此路径具有读写访问权限。

当 Firefox 与主机文件系统隔离以使其不与 geckodriver 共享相同的系统临时目录时(例如,在容器内运行 Firefox 或作为快照打包时),此设置很有用。

-v[v]

当传递单个 -v 时,将日志详细程度提高到调试级别,如果传递 -vv,则提高到跟踪级别。这类似于分别传递 --log debug--log trace

--websocket-portPORT

用于连接到 WebDriver BiDi 的端口。默认为 9222。

一个有用的技巧是,可以绑定到 0 以使系统原子地分配一个空闲端口。