# geckodriver
**Repository Path**: june-yang/geckodriver
## Basic Information
- **Project Name**: geckodriver
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2017-04-17
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# geckodriver [](https://travis-ci.org/mozilla/geckodriver)
Proxy for using W3C WebDriver-compatible clients
to interact with Gecko-based browsers.
This program provides the HTTP API described by
the [WebDriver protocol](http://w3c.github.io/webdriver/webdriver-spec.html#protocol)
to communicate with Gecko browsers, such as Firefox.
It translates calls into
the [Marionette automation protocol](https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette)
by acting as a proxy between the local- and remote ends.
You can consult the [change log](https://github.com/mozilla/geckodriver/blob/master/CHANGES.md)
for a record of all notable changes to the program.
[Releases](https://github.com/mozilla/geckodriver/releases)
are made available on GitHub
on [supported platforms](#supported-firefoxen).
## Supported clients
[Selenium](http://docs.seleniumhq.org/) users
must update to [version 3.3.1](https://github.com/SeleniumHQ/selenium/releases/tag/selenium-3.3.1)
or later to use geckodriver.
Other clients that follow the [W3C WebDriver specification](https://w3c.github.io/webdriver/webdriver-spec.html) are also supported.
## Supported Firefoxen
Marionette and geckodriver are not yet feature complete.
This means that they do not yet offer full conformance
with the [WebDriver standard](https://w3c.github.io/webdriver/webdriver-spec.html)
or complete compatibility with [Selenium](http://www.seleniumhq.org/).
You can track the [implementation status](https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver/status)
of the latest [Firefox Nightly](http://whattrainisitnow.com/) on
[MDN](https://developer.mozilla.org/).
We also keep track of known
[Marionette](https://github.com/mozilla/geckodriver/issues?q=is%3Aissue+is%3Aopen+label%3Amarionette),
[Selenium](https://github.com/mozilla/geckodriver/issues?q=is%3Aissue+is%3Aopen+label%3Aselenium),
and [specification](https://github.com/mozilla/geckodriver/issues?q=is%3Aissue+is%3Aopen+label%3Aspec)
problems in our
[issue tracker](https://github.com/mozilla/geckodriver/issues).
Support is best in Firefox 52.0.3 and onwards,
although generally the more recent the Firefox version,
the better the experience as they have more bug fixes and features.
Some features will only be available in the most recent Firefox versions,
and we strongly advise using the [latest Firefox Nightly](https://nightly.mozilla.org/) with geckodriver.
Since Windows XP support in Firefox will be dropped with Firefox 53,
we do not support this platform.
## WebDriver capabilities
geckodriver supports a number of
[WebDriver capabilities](https://w3c.github.io/webdriver/webdriver-spec.html#capabilities):
Name
| Type
| Description
|
proxyType
| string
| Indicates the type of proxy configuration.
This value must be one of
pac ,
noproxy ,
autodetect ,
system ,
or manual .
|
proxyAutoconfigUrl
| string
| Defines the URL for a proxy auto-config file.
This property should only be set
when proxyType is pac .
|
ftpProxy
| string
| Defines the proxy hostname for FTP traffic.
Should only be set then the proxyType
is set to manual .
|
ftpProxyPort
| number
| Defines the proxy port for FTP traffic.
This property should only be set
when proxyType is manual .
|
httpProxy
| string
| Defines the hostname for HTTP traffic.
This property should only be set
when proxyType is manual .
|
httpProxyPort
| number
| Defines the proxy port for HTTP traffic.
This property should only be set
when proxyType is manual .
|
sslProxy
| string
| Defines the proxy hostname
for encrypted TLS traffic.
This property should only be set
when proxyType is manual .
|
sslProxyPort
| number
| Defines the proxy port for SSL traffic.
This property should only be set
when proxyType is manual .
|
socksProxy
| string
| Defines the proxy hostname for a SOCKS proxy.
This property should only be set
when proxyType is manual .
|
socksProxyPort
| number
| Defines the proxy port for a SOCKS proxy.
This property should only be set
when proxyType is manual .
|
socksVersion
| number
| Defines the SOCKS proxy version.
This property should only be set
when proxyType is manual .
|
socksUsername
| string
| Defines the username used
when authenticating with a SOCKS proxy.
This property should only be set
when proxyType is manual .
|
socksPassword
| string
| Defines the password used
when authenticating with a SOCKS proxy.
This property should only be set
when proxyType is manual .
|
## Firefox capabilities
geckodriver also supports a capability named `moz:firefoxOptions`
which takes Firefox-specific options.
This must be a dictionary
and may contain any of the following fields:
Name
| Type
| Description
|
binary
| string
| Absolute path of the Firefox binary,
e.g. /usr/bin/firefox
or /Applications/Firefox.app/Contents/MacOS/firefox ,
to select which custom browser binary to use.
If left undefined geckodriver will attempt
to deduce the default location of Firefox
on the current system.
|
args
| array of strings
| Command line arguments to pass to the Firefox binary.
These must include the leading -- where required
e.g. ["--devtools"] .
|
profile
| string
| Base64-encoded zip of a profile directory
to use as the profile for the Firefox instance.
This may be used to e.g. install extensions
or custom certificates.
By default, a new profile will be created in the system’s temporary folder.
The effective profile in use by the WebDriver session
is returned to the user in the `moz:profile` capability.
|
log
| log object
| Logging options for Gecko.
|
prefs
| prefs object
| Map of preference name to preference value, which can be a
string, a boolean or an integer.
|
### `log` object