0.31.0
0.31.0 (2022-04-11, b617178ef491
)
Known problems
-
Firefox running in Linux Sandbox (e.g. Snap package):
Using geckodriver to launch Firefox inside a sandbox -- for example
a Firefox distribution using Snap or Flatpak -- can fail with a
"Profile not found" error if the sandbox restricts Firefox's ability
to access the system temporary directory. geckodriver uses the
temporary directory to store Firefox profiles created during the run.This issue can be worked around by setting the
TMPDIR
environment
variable to a location that both Firefox and geckodriver have
read/write access to e.g.:% mkdir $HOME/tmp
% TMPDIR=$HOME/tmp geckodriverAlternatively, geckodriver may be used with a Firefox install that
is not packaged inside a sandboxed e.g. from mozilla.org. -
macOS 10.15 (Catalina) and later:
Due to the requirement from Apple that all programs must be
notarized, geckodriver will not work on Catalina if you manually
download it through another notarized program, such as Firefox.Whilst we are working on a repackaging fix for this problem, you can
find more details on how to work around this issue in the macOS
notarization section of the documentation.
Added
-
Users with the Rust toolchain installed can now build and install
geckodriver from crates.io using Cargo:% cargo install geckodriver
-
Support for Get Element Shadow Root
Implemented by David Burns.
The standardised WebDriver Get Element Shadow Root endpoint provides a way
to retrieve the Shadow Root of a given web element. This endpoint is
supported by geckodriver when using Firefox version ≥96. -
Support for additional hosts and origins
Users can now specify a list of allowed
Host
andOrigin
headers for
incoming requests using the--allow-hosts
and--allow-origins
command
line options, respectively. When such a flag is provided, exactly the given
values will be permitted.By default any request with an
Origin
header is rejected, and only requests
containing the bound hostname (specified via--host
), or an IP address,
in the Host header are allowed. These configuration options are
designed to support scenarios where geckodriver is running on a different
network node to the host e.g. some container based setups.
Fixed
-
Geckodriver lets Marionette itself select a system allocated port, so that
it's no longer required to specify a fixed port when using a custom Firefox
profile. This is done by reading theMarionetteActivePort
file of the
Firefox profile in-use. This helps to avoid port collisions when multiple
Firefox instances are run in parallel. -
It's no longer possible to specify both the
androidPackage
andbinary
capabilities togther withinmoz:firefoxOptions
because these capabilites
are mutually exclusive.