未知方法
未知方法错误是一个 WebDriver 错误,当驱动程序无法识别用于端点的 HTTP 请求方法 时,就会发生这种情况。
WebDriver 提供了一个很大程度上是 REST 式的 API,并非该 API 中的所有端点都具有 GET
、POST
和 DELETE
方法。当您尝试使用不支持的 HTTP 请求方法调用端点时,就会发生此错误。
示例
新会话命令提供了 POST
请求端点,可用于创建新的 WebDriver 会话
bash
% curl -d '{}' https://127.0.0.1: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"}}
它还实现了用于结束会话的 DELETE
方法
bash
% curl -X DELETE https://127.0.0.1:4444/session/d4605710-5a4e-4d64-a52a-778bb0c31e00
{}
但它例如不提供 GET
方法,因此将返回未知方法错误
bash
% curl https://127.0.0.1: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":""}}%