1Change log 2========== 3 4All notable changes to this program is documented in this file. 5 6Unreleased 7---------- 8 9### Added 10 11- New `--jsdebugger` flag to open the Browser Toolbox when Firefox 12 launches. This is useful for debugging Marionette internals. 13 14- Introduced the temporary, boolean capability 15 `moz:useNonSpecCompliantPointerOrigin` to disable the WebDriver 16 conforming behavior of calculating the Pointer Origin. 17 18### Changed 19 20- HTTP status code for the [`StaleElementReference`] error changed 21 from 400 (Bad Request) to 404 (Not Found) 22 23- Backtraces from geckodriver no longer substitute for missing 24 Marionette stacktraces 25 26- `Delete Session` now allows Firefox to safely shutdown within 70s before 27 force-killing the process 28 29- Changed preference used to disable shield studies to `app.normandy.api_url`. 30 31### Fixed 32 33- Improved error messages for malformed capabilities 34 35 360.19.1 (2017-10-30) 37------------------- 38 39### Changed 40 41- Search suggestions in the location bar turned off as not to 42 trigger network connections 43 44- Block addons incompatible with E10s 45 46### Fixed 47 48- Marionette stacktraces are now correctly propagated 49 50- Some error messages have been clarified 51 52### Removed 53 54- Removed obsolete `socksUsername` and `socksPassword` proxy 55 configuration keys because neither were picked up or recognised 56 57 580.19.0 (2017-09-16) 59------------------- 60 61Note that with geckodriver 0.19.0 the following versions are recommended: 62- Firefox 55.0 (and greater) 63- Selenium 3.5 (and greater) 64 65### Added 66 67- Added endpoint: 68 - POST `/session/{session id}/window/minimize` for the [Minimize Window] 69 command 70 71- Added preference `extensions.shield-recipe-client.api_url` to disable 72 shield studies which could unexpectedly change the behavior of Firefox 73 74- Introduced the temporary, boolean capability `moz:webdriverClick` to 75 enable the WebDriver conforming behavior of the [Element Click] command 76 77- Added crashreporter environment variables to better control the browser 78 in case of crashes 79 80- Added preference `dom.file.createInChild` set to true to allow file 81 object creation in content processes 82 83### Changed 84 85- Log all used application arguments and not only `-marionette` 86 87- Early abort connection attempts to Marionette if the Firefox process 88 closed unexpectetly 89 90- Removed deprecated `socksProxyVersion` in favor of `socksVersion` 91 92- Removed `ftpProxyPort`, `httpProxyPort`, `sslProxyPort`, and 93 `socksProxyPort` because _ports_ have to be set for `ftpProxy`, 94 `httpProxy`, `sslProxy`, and `socksProxy` using ":<PORT>" 95 96- The `proxyType` `noproxy` has been replaced with `direct` in accordance 97 with recent WebDriver specification changes 98 99- The [`WindowRectParameters`] have been updated to return signed 32-bit 100 integers in accordance with the CSS and WebDriver specifications, and 101 to be more liberal with the input types 102 103- Mapped the [`FullscreenWindow`] to the correct Marionette command 104 105- To make sure no browser process is left behind when the [`NewSession`] 106 fails, the process is closed immediately now 107 108- `/moz/addon/install` command accepts an `addon` parameter, in lieu of 109 `path`, containing an addon as a Base64 string (fixed by [Jason Juang]) 110 111- [webdriver crate] upgraded to version 0.31.0 112 113- [mozrunner crate] upgraded to version 0.5.0 114 115### Removed 116 117- Removed the following obsolete preferences for Firefox: 118 - `browser.safebrowsing.enabled` 119 - `browser.safebrowsing.forbiddenURIs.enabled` 120 - `marionette.defaultPrefs.port` 121 - `marionette.logging` 122 123 1240.18.0 (2017-07-10) 125------------------- 126 127### Changed 128 129- [`RectResponse`] permits returning floats for `width` and `height` 130 fields 131 132- New type [`CookieResponse`] for the [`GetNamedCookie`] command returns 133 a single cookie, as opposed to an array of a single cookie 134 135- To pick up a prepared profile from the filesystem, it is now possible 136 to pass `["-profile", "/path/to/profile"]` in the `args` array on 137 `moz:firefoxOptions` 138 139- geckodriver now recommends Firefox 53 and greater 140 141- Version information (`--version`) contains the hash from from the 142 commit used to build geckodriver 143 144- geckodriver version logged on startup 145 146- [webdriver crate] upgraded to version 0.27.0 147 148- [mozrunner crate] upgraded to version 0.4.1 149 150### Fixed 151 152- The [`SetTimeouts`] command maps to the Marionette `setTimeouts` 153 command, which makes geckodriver compatible with Firefox 56 and greater 154 155- Linux x86 (i686-unknown-linux-musl) builds are fixed 156 157 1580.17.0 (2017-06-09) 159------------------- 160 161### Added 162 163- Added endpoints: 164 - POST `/session/{session id}/window/fullscreen` to invoke the window 165 manager-specific `full screen` operation 166 - POST `/session/{session id}/moz/addon/install` to install an extension 167 (Gecko only) 168 - POST `/session/{session id}/moz/addon/uninstall` to uninstall an 169 extension (Gecko only) 170 171### Changed 172 173- Increasing the length of the `network.http.phishy-userpass-length` 174 preference will cause Firefox to not prompt when navigating to a 175 website with a username or password in the URL 176 177- Library dependencies upgraded to mozrunner 0.4 and mozprofile 0.3 178 to allow overriding of preferences via capabilities if those have been 179 already set in the profile 180 181- Library dependencies upgraded to mozversion 0.1.2 to only use the 182 normalized path of the Firefox binary for version checks but not to 183 actually start the browser, which broke several components in Firefox 184 on Windows 185 186### Fixed 187 188- The [SetWindowRect] command now returns the [WindowRectResponse] 189 when it is done 190 191- Use ASCII versions of array symbols to properly display them in the 192 Windows command prompt 193 194- Use [`SessionNotCreated`] error instead of [`UnknownError`] if there 195 is no current session 196 197 1980.16.1 (2017-04-26) 199------------------- 200 201### Fixed 202 203- Read Firefox version number from stdout when failing 204 to look for the application .ini file (fixes [Selenium 205 #3884](https://github.com/SeleniumHQ/selenium/issues/3884)) 206 207- Session is now ended when closing the last Firefox window (fixes 208 [#613](https://github.com/mozilla/geckodriver/issues/613)) 209 210 2110.16.0 (2017-04-21) 212------------------- 213 214Note that geckodriver v0.16.0 is only compatible with Selenium 3.4 215and greater. 216 217### Added 218 219- Support for WebDriver-conforming [New Session] negotiation, with 220 `desiredCapabilities`/`requiredCapabilities` negotiation as fallback 221 222- Added two new endpoints: 223 - GET `/session/{session id}/window/rect` for [Get Window Rect] 224 - POST `/session/{session id}/window/rect` for [Set Window Rect] 225 226- Align errors with the [WebDriver errors]: 227 - Introduces new errors [`ElementClickIntercepted`], 228 [`ElementNotInteractable`], [`InvalidCoordinates`], [`NoSuchCookie`], 229 [`UnableToCaptureScreen`], and [`UnknownCommand`] 230 - Removes `ElementNotVisible` and `InvalidElementCoordinates` errors 231 232### Removed 233 234- Removed following list of unused endpoints: 235 - GET `/session/{session id}/alert_text` 236 - POST `/session/{session id}/alert_text` 237 - POST `/session/{session id}/accept_alert` 238 - POST `/session/{session id}/dismiss_alert` 239 - GET `/session/{session id}/window_handle` 240 - DELETE `/session/{session id}/window_handle` 241 - POST `/session/{session id}/execute_async` 242 - POST `/session/{session id}/execute` 243 244### Changed 245 246- [`SendKeysParameters`], which is used for the [Element Send Keys] and 247 [Send Alert Text] commands, has been updated to take a string `text` 248 field 249 250- [`CookieResponse`] and [`CloseWindowResponse`] fixed to be properly 251 wrapped in a `value` field, like other responses 252 253- Allow negative numbers for `x` and `y` fields in `pointerMove` action 254 255- Disable Flash and the plugin container in Firefox by 256 default, which should help mitigate the “Plugin Container 257 for Firefox has stopped wroking” problems [many users were 258 reporting](https://github.com/mozilla/geckodriver/issues/225) when 259 deleting a session 260 261- Preferences passed in a profile now take precedence over 262 set of default preferences defined by geckodriver (fixed by 263 [Marc Fisher](https://github.com/DrMarcII)) 264 - The exceptions are the `marionette.port` and `marionette.log.level` 265 preferences and their fallbacks, which are set unconditionally and 266 cannot be overriden 267 268- Remove default preference that disables unsafe CPOW checks 269 270- WebDriver library updated to 0.25.2 271 272### Fixed 273 274- Fix for the “corrupt deflate stream” exception that 275 sometimes occured when trying to write an empty profile by 276 [@kirhgoph](https://github.com/kirhgoph) 277 278- Recognise `sslProxy` and `sslProxyPort` entries in the proxy 279 configuration object (fixed by [Jason Juang]) 280 281- Fix “`httpProxyPort` was not an integer” error (fixed by [Jason 282 Juang]) 283 284- Fix broken unmarshaling of _Get Timeouts_ response format from Firefox 285 52 and earlier (fixed by [Jason Juang]) 286 287- Allow preferences in `moz:firefoxOptions` to be both positive- and 288 negative integers (fixed by [Jason Juang]) 289 290- Allow IPv6 hostnames in the proxy configuration object 291 292- i686-unknown-linux-musl (Linux 32-bit) build fixed 293 294- Log messages from other Rust modules are now ignored 295 296- Improved log messages to the HTTPD 297 298 2990.15.0 (2017-03-08) 300------------------- 301 302### Added 303 304- Added routing and parsing for the [Get Timeouts] command 305 306### Changed 307 308- All HTTP responses are now wrapped in `{value: …}` objects per the 309 WebDriver specification; this may likely require you to update your 310 client library 311 312- Pointer move action’s `element` key changed to `origin`, which 313 lets pointer actions originate within the context of the viewport, 314 the pointer’s current position, or from an element 315 316- Now uses about:blank as the new tab document; this was previously 317 disabled due to [bug 1333736](https://bugzil.la/1333736) in Marionette 318 319- WebDriver libary updated to 0.23.0 320 321### Fixed 322 323- Aligned the data structure accepted by the [Set Timeouts] command with 324 the WebDriver specification 325 326 3270.14.0 (2017-01-31) 328------------------- 329 330### Changed 331 332- Firefox process is now terminated and session ended when the last 333 window is closed 334 335- WebDriver library updated to version 0.20.0 336 337### Fixed 338 339- Stacktraces are now included when the error originates from within 340 the Rust stack 341 342- HTTPD now returns correct response headers for `Content-Type` and 343 `Cache-Control` thanks to [Mike Pennisi] 344 345 3460.13.0 (2017-01-06) 347------------------- 348 349### Changed 350 351- When navigating to a document with an insecure- or otherwise invalid 352 TLS certificate, an [insecure certificate] error will be returned 353 354- On macOS, deducing Firefox’ location on the system will look for 355 _firefox-bin_ on the system path (`PATH` environmental variable) before 356 looking in the applications folder 357 358- Window position coordinates are allowed to be negative numbers, to 359 cater for maximised window positioning on Windows 360 361- WebDriver library updated to version 0.18.0 362 363### Fixed 364 365- Check for single-character key codes in action sequences now counts 366 characters instead of bytes 367 368 3690.12.0 (2017-01-03) 370------------------- 371 372### Added 373 374- Added [Take Element Screenshot] command 375 376- Added new [Status] command 377 378- Added routing for the [Get Timeouts] command, but it is not yet 379 implemented in Marionette, and will return an _unsupported operation_ 380 error until it is 381 382- Implemented routing for [new actions API](Actions), but it too is not 383 yet fully implemented in Marionette 384 385### Changed 386 387- [Synced Firefox 388 preferences](https://github.com/mozilla/geckodriver/commit/2bfdc3ec8151c427a6a75a6ba3ad203459540495) 389 with those used in Mozilla automation 390 391- Default log level for debug builds of Firefox, which used to be `DEBUG`, 392 changed to `INFO`-level 393 394- WebDriver library dependency upgraded to 0.17.1 395 396- Using _session not created_ error when failing to start session 397 398- geckodriver will exit with exit code 69 to indicate that the port 399 is unavailable 400 401### Fixed 402 403- Improved logging when starting Firefox 404 405- Reverted to synchronous logging, which should address cases of 406 inconsistent output when failing to bind to port 407 408- Clarified in README that geckodriver is not supported on Windows XP 409 410- Added documentation of supported capabilities to [README] 411 412- Included capabilities example in the [README] 413 414 4150.11.1 (2016-10-10) 416------------------- 417 418### Fixed 419 420- Version number in binary now reflects the release version 421 422 4230.11.0 (2016-10-10) 424------------------- 425 426### Added 427 428- Introduced continous integration builds for Linux- and Windows 32-bit 429 binaries 430 431- Added commands for setting- and getting the window position 432 433- Added new extension commands for finding an element’s anonymous 434 children and querying its attributes; accessible through the 435 `/session/{sessionId}/moz/xbl/{elementId}/anonymous_children` 436 to return all anonymous children and 437 `/session/{sessionId}/moz/xbl/{elementId}/anonymous_by_attribute` to 438 return an anonymous element by a name and attribute query 439 440- Introduced a `moz:firefoxOptions` capability to customise a Firefox 441 session: 442 443 - The `binary`, `args`, and `profile` entries on this dictionary 444 is equivalent to the old `firefox_binary`, `firefox_args`, and 445 `firefox_profile` capabilities, which have now all been removed 446 447 - The `log` capability takes a dictionary such as `{log: "trace"}` 448 to enable trace level verbosity in Gecko 449 450 - The `prefs` capability lets you define Firefox preferences through 451 capabilities 452 453- Re-introduced the `--webdriver-port` argument as a hidden alias to 454 `--port` 455 456### Changed 457 458- `firefox_binary`, `firefox_args`, and `firefox_profile` capabilities 459 removed in favour of the `moz:firefoxOptions` dictionary detailed above 460 and in the [README] 461 462- Removed `--no-e10s` flag, and geckodriver will from now rely on the 463 Firefox default multiprocessing settings (override using preferences) 464 465- Disable pop-up blocker in the default profile by @juangj 466 467- Changed Rust compiler version to 1.12 (beta) 468 temporarily because of [trouble linking Musl 469 binaries](https://github.com/rust-lang/rust/issues/34978) 470 471- Replaced _env_logger_ logging facility with the _slog_ package, 472 causing the `RUST_LOG` environment variable to no longer have any affect 473 474- Updated the WebDriver Rust library to version 0.15 475 476### Fixed 477 478- Corrected link to repository in Cargo metadata 479 480- Verbosity shorthand flag `-v[v]` now works again, following the 481 replacement of the argument parsing library in the previous release 482 483- When the HTTPD fails to start, errors are propagated to the user 484 485- Disabled the additional welcome URL 486 (`startup.homepage_welcome_url.additional`) so that officially branded 487 Firefox builds do not start with two open tabs in fresh profiles 488 489- Disabled homepage override URL redirection on milestone upgrades, 490 which means a tab with an upgrade notice is not displayed when launching 491 a new Firefox version 492 493 4940.10.0 (2016-08-02) 495------------------- 496 497### Changed 498 499- Use multi-process Firefox (e10s) by default, added flag `--no-e10s` 500 to disable it and removed `--e10s` flag 501 502- Disable autofilling of forms by default by [Sven Jost] 503 504- Replace _argparse_ with _clap_ for arguments parsing 505 506### Fixed 507 508- Attempt to deploy a single file from Travis when making a release 509 510- Grammar fix in [README] 511 512 5130.9.0 (2016-06-30) 514------------------ 515 516### Added 517 518- Add ability to use `firefox_binary` capability to define location of 519 Firefox to use 520 521- Automatically detect the default Firefox path if one is not given 522 523- Cross-compile to Windows and ARMv7 (HF) in CI 524 525- Add Musl C library-backed static binaries in CI 526 527- Add `-v`, `-vv`, and `--log LEVEL` flags to increase Gecko verbosity 528 529- Add Get Element Property endpoint 530 531- Add new `--version` flag showing copying information and a link to 532 the repository 533 534### Changed 535 536- Now connects to a Marionette on a random port by default 537 538- Update webdriver-rust library dependency 539 540- Migrated to use Travis to deploy new releases 541 542- Reduced amount of logging 543 544- Introduced a changelog (this) 545 546 5470.8.0 (2016-06-07) 548------------------ 549 550### Added 551 552- Allow specifying array of arguments to the Firefox binary through the 553 `firefox_args` capability 554 555- Pass parameters with [New Session] command 556 557### Changed 558 559- Change product name to _geckodriver_ 560 561- Make README more exhaustive 562 563- Quit Firefox when deleting a session 564 565- Update webdriver-rust library 566 567- Update dependencies 568 569### Fixed 570 571- Fix tests 572 573- FIx typo in error message for parsing errors 574 575 5760.7.1 (2016-04-27) 577------------------ 578 579### Added 580 581- Add command line flag for using e10s enabled Firefox by [Kalpesh 582 Krishna] 583 584- Allow providing custom profiles 585 586### Changed 587 588- Allow binding to an IPv6 address by [Jason Juang] 589 590- By default, connect to host-agnostic localhost by [Jason Juang] 591 592- Make `GeckoContextParameters` public 593 594- Update dependencies 595 596### Fixed 597 598- Squash rustc 1.6 warnings by using `std::thread::sleep(dur: Duration)` 599 600 6010.6.2 (2016-01-20) 602------------------ 603 604### Added 605 606- Add LICENSE file from [Joshua Burning] 607 608- Schedule builds in CI on pushes and pull requests 609 610### Changed 611 612- Enable CPOWs in Marionette 613 614 6150.6.0 (2016-01-12) 616------------------ 617 618### Added 619 620- Add Get Page Source endpoint 621 622### Changed 623 624- Handle arrays being sent from Marionette 625 626- Correct build steps in [README] 627 628- Update what properties are read from errors sent by Marionette 629 630- Update dependencies 631 632 6330.5.0 (2015-12-10) 634------------------ 635 636### Changed 637 638- Update argparse dependency to use Cargo 639 640- Update to the latest version of the Marionette wire protocol 641 642- Update to latest webdriver-rust library 643 644- Update dependencies 645 646 6470.4.2 (2015-10-02) 648------------------ 649 650### Changed 651 652- Skip compiling optional items in hyper 653 654 6550.4.1 (2015-10-02) 656------------------ 657 658### Changed 659 660- Update webdriver-rust library 661 662- Update dependencies 663 664 6650.4.0 (2015-09-28) 666------------------ 667 668### Added 669 670- Add command extensions for switching between content- and chrome 671 contexts 672 673- Add more documentation from [Vlad Filippov] 674 675### Changed 676 677- Update Cargo.lock with new dependencies for building 678 679- Update for protocol updates that flatten commands 680 681- Update to new protocol error handling 682 683- Update for Marionette protocol version 3 changes 684 685- Strip any leading and trailing `{}` from the `sessionId` Marionette 686 returns 687 688- Update dependencies 689 690### Fixed 691 692- Fix `GetCSSValue` message to send correct key `propertyName` 693 694- Fix example in documentation from @vladikoff 695 696 6970.3.0 (2015-08-17) 698------------------ 699 700### Added 701 702- Add support for finding elements in subtrees 703 704 7050.2.0 (2015-05-20) 706------------------ 707 708### Added 709 710- Extra debug messages 711 712- Add ability to set WebDriver port 713 714- Add support for getting the active element 715 716- Add support for `GetCookies` and `DeleteCookie`/`DeleteCookies` 717 718- Add preferences that switch off certain features not required for 719 WebDriver tests 720 721### Changed 722 723- Make failing to communicate with Firefox a fatal error that closes 724 the session 725 726- Shut down session only when loosing connection 727 728- Better handling of missing command line flags 729 730- Poll for connection every 100ms rather than every 100s 731 732- Switch to string-based error codes 733 734- Switch webdriver-rust library dependency to be pulled from git 735 736- Update dependencies 737 738### Fixed 739 740- Handle null id for switching to frame more correctly 741 742 7430.1.0 (2015-04-09) 744------------------ 745 746### Added 747 748- Add proxy for converting WebDriver HTTP protocol to Marionette protocol 749 750- Add endpoints for modal dialogue support 751 752- Allow connecting to a running Firefox instance 753 754- Add explicit Cargo.lock file 755 756- Start Firefox when we get a [NewSession] command 757 758- Add flag parsing and address parsing 759 760- Add basic error handling 761 762### Changed 763 764- Update for Rust beta 765 766- Switch to new IO libraries 767 768- Pin webdriver-rust commit so we can upgrade rustc versions independently 769 770- Set preferences when starting Firefox 771 772- Improve some error messages 773 774- Re-enable environment variable based logging 775 776### Fixed 777 778- Fix Get Element Rect command to return floats instead of integers 779 780- Fix passing of web elements to Switch To Frame command 781 782- Fix serialisation of script commands 783 784- Fix assorted bugs found by the Selenium test suite 785 786- Fix conversion of Find Element/Find Elements responses from Marionette 787 to WebDriver 788 789- Fixed build by updating Cargo.lock with new dependencies for building 790 791- Squash compile warnings 792 793 794 795[README]: https://github.com/mozilla/geckodriver/blob/master/README.md 796 797[`CloseWindowResponse`]: https://docs.rs/webdriver/newest/webdriver/response/struct.CloseWindowResponse.html 798[`CookieResponse`]: https://docs.rs/webdriver/newest/webdriver/response/struct.CookieResponse.html 799[`ElementClickIntercepted`]: https://docs.rs/webdriver/newest/webdriver/error/enum.ErrorStatus.html#variant.ElementClickIntercepted 800[`ElementNotInteractable`]: https://docs.rs/webdriver/newest/webdriver/error/enum.ErrorStatus.html#variant.ElementNotInteractable 801[`FullscreenWindow`]: https://docs.rs/webdriver/newest/webdriver/command/enum.WebDriverCommand.html#variant.FullscreenWindow 802[`GetNamedCookie`]: https://docs.rs/webdriver/newest/webdriver/command/enum.WebDriverCommand.html#variant.GetNamedCookie 803[`GetWindowRect`]: https://docs.rs/webdriver/newest/webdriver/command/enum.WebDriverCommand.html#variant.GetWindowRect 804[`InvalidCoordinates`]: https://docs.rs/webdriver/newest/webdriver/error/enum.ErrorStatus.html#variant.InvalidCoordinates 805[`MaximizeWindow`]: https://docs.rs/webdriver/newest/webdriver/command/enum.WebDriverCommand.html#variant.MaximizeWindow 806[`MinimizeWindow`]: https://docs.rs/webdriver/newest/webdriver/command/enum.WebDriverCommand.html#variant.MinimizeWindow 807[`NewSession`]: https://docs.rs/webdriver/newest/webdriver/command/enum.WebDriverCommand.html#variant.NewSession 808[`NoSuchCookie`]: https://docs.rs/webdriver/newest/webdriver/error/enum.ErrorStatus.html#variant.NoSuchCookie 809[`RectResponse`]: https://docs.rs/webdriver/0.27.0/webdriver/response/struct.RectResponse.html 810[`SendKeysParameters`]: https://docs.rs/webdriver/newest/webdriver/command/struct.SendKeysParameters.html 811[`SessionNotCreated`]: https://docs.rs/webdriver/newest/webdriver/error/enum.ErrorStatus.html#variant.SessionNotCreated 812[`SetTimeouts`]: https://docs.rs/webdriver/newest/webdriver/command/enum.WebDriverCommand.html#variant.SetTimeouts 813[`SetWindowRect`]: https://docs.rs/webdriver/newest/webdriver/command/enum.WebDriverCommand.html#variant.SetWindowRect 814[`StaleElementReference`]: https://docs.rs/webdriver/newest/webdriver/error/enum.ErrorStatus.html#variant.StaleElementReference 815[`UnableToCaptureScreen`]: https://docs.rs/webdriver/newest/webdriver/error/enum.ErrorStatus.html#variant.UnableToCaptureScreen 816[`UnknownCommand`]: https://docs.rs/webdriver/newest/webdriver/error/enum.ErrorStatus.html#variant.UnknownCommand 817[`UnknownError`]: https://docs.rs/webdriver/newest/webdriver/error/enum.ErrorStatus.html#variant.UnknownError 818[`WindowRectParameters`]: https://docs.rs/webdriver/newest/webdriver/command/struct.WindowRectParameters.html 819 820[mozrunner crate]: https://crates.io/crates/mozrunner 821[webdriver crate]: https://crates.io/crates/webdriver 822 823[Actions]: https://w3c.github.io/webdriver/webdriver-spec.html#actions 824[Element Click]: https://w3c.github.io/webdriver/webdriver-spec.html#element-click 825[Get Timeouts]: https://w3c.github.io/webdriver/webdriver-spec.html#get-timeouts 826[Set Timeouts]: https://w3c.github.io/webdriver/webdriver-spec.html#set-timeouts 827[Get Window Rect]: https://w3c.github.io/webdriver/webdriver-spec.html#get-window-rect 828[Set Window Rect]: https://w3c.github.io/webdriver/webdriver-spec.html#set-window-rect 829[insecure certificate]: https://w3c.github.io/webdriver/webdriver-spec.html#dfn-insecure-certificate 830[Minimize Window]: https://w3c.github.io/webdriver/webdriver-spec.html#minimize-window 831[New Session]: https://w3c.github.io/webdriver/webdriver-spec.html#new-session 832[Send Alert Text]: https://w3c.github.io/webdriver/webdriver-spec.html#send-alert-text 833[Status]: https://w3c.github.io/webdriver/webdriver-spec.html#status 834[Take Element Screenshot]: https://w3c.github.io/webdriver/webdriver-spec.html#take-element-screenshot 835[WebDriver errors]: https://w3c.github.io/webdriver/webdriver-spec.html#handling-errors 836 837[Jason Juang]: https://github.com/juangj 838[Joshua Bruning]: https://github.com/joshbruning 839[Kalpesh Krishna]: https://github.com/martiansideofthemoon 840[Mike Pennisi]: https://github.com/jugglinmike 841[Sven Jost]: https://github/mythsunwind 842[Vlad Filippov]: https://github.com/vladikoff 843