Unknown method

The unknown method error is a WebDriver error that occurs when the driver does not recognize the HTTP request method used for the endpoint.

WebDriver provides a largely REST-ish API and not all endpoints in this API has GET, POST, and DELETE methods. This error occurs when you try to call an endpoint with an HTTP request method it does not support.

Examples

The New Session command provides a POST request endpoint which lets you create new WebDriver sessions:

bash
% curl -d '{}' http://localhost:4444/session
{"sessionId":"d4605710-5a4e-4d64-a52a-778bb0c31e00","value":{"XULappId":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","acceptSslCerts":false,"appBuildId":"20160913030425","browserName":"firefox","browserVersion":"51.0a1","command_id":1,"platform":"LINUX","platformName":"linux","platformVersion":"4.9.0-1-amd64","processId":17474,"proxy":{},"raisesAccessibilityExceptions":false,"rotatable":false,"specificationLevel":0,"takesElementScreenshot":true,"takesScreenshot":true,"version":"51.0a1"}}

It also implements the DELETE method for ending a session:

bash
% curl -X DELETE http://localhost:4444/session/d4605710-5a4e-4d64-a52a-778bb0c31e00
{}

But it does not, for example, provide a GET method, and this will consequently return an unknown method error:

bash
% curl http://localhost:4444/session/650f9df3-740e-314c-958d-307e41752fae
{"value":{"error":"unknown command","message":"GET /session/650f9df3-740e-314c-958d-307e41752fae did not match a known command","stacktrace":""}}%

See also