GeckoDriver

GeckoDriver

[1] WebDriver Status - Mozilla | MDN ( ()) https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver/status

[2] WebDriver - Mozilla | MDN ( ()) https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver

[3] Marionette - Mozilla | MDN ( ()) https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette

Marionette is an automation driver for Mozilla's Gecko engine. It can remotely control either the UI or the internal JavaScript of a Gecko platform, such as Firefox. It can control both the chrome (i.e. menus and functions) or the content (the webpage loaded inside the browsing context), giving a high level of control and ability to replicate user actions. In addition to performing actions on the browser, Marionette can also read the properties and attributes of the DOM.

[4] Marionette Protocol - Mozilla | MDN ( ()) https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/Protocol

[5] selenium-server-standalone は、バージョン2の時 -Dwebdriver.firefox.bin=... オプションで Firefox実行ファイルを指定できましたが、 バージョン3ではこのオプション自体が無くなっているようで、エラーになります。

[6] mozilla/geckodriver: WebDriver <-> Marionette proxy ( ()) https://github.com/mozilla/geckodriver

[7] Releases · mozilla/geckodriver ( ()) https://github.com/mozilla/geckodriver/releases

[8] GeckoDriver に対して Firefox が古すぎると、 {"error":"unknown error","message":"Unsupported Marionette protocol version 2, required 3"} というエラーが返されます。

[9] SeleniumFirefoxDriver では、 capabilities"firefox_binary": "/path/to/firefox" を指定すると、 Firefox実行ファイルの位置を明示できます。

[10] 非互換変更しまくるのやめてほしい・・・

[11] ChromeDriver と比べてもなーんか不安定なんだよなあ

[12] mozilla-central: changeset 604680:577a5b37f781ba999825069a5f552468f9e55cc4, https://hg.mozilla.org/mozilla-central/rev/577a5b37f781ba999825069a5f552468f9e55cc4

[13] >>12 この変更から Host:Origin: の値の検査が厳密になりました。 公開サーバーの不正利用の防止の意図なのでしょうけど、 従来の動作に戻す方法を提供しないで非互換変更してくるのが厳しい。

[14] listen している port と違う値が Host: に設定されているとエラーになります。 回避オプションはなし。 --allow-hostsホスト名だけしか書けず、ポート番号を書いてもエラーになるだけです。 ポート転送して他のポートで使っていた実装はこの変更で壊れました。