未知方法
未知方法错误是一种 WebDriver 错误,当驱动程序无法识别用于端点的 HTTP 请求方法时发生。
WebDriver 提供了一个基本符合 REST 风格的 API,并非此 API 中的所有端点都具有 GET
、POST
和 DELETE
方法。当您尝试使用端点不支持的 HTTP 请求方法调用它时,就会发生此错误。
示例
“新会话”命令提供了一个 POST
请求端点,允许您创建新的 WebDriver 会话
bash
% curl -d '{}' https://: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://:4444/session/d4605710-5a4e-4d64-a52a-778bb0c31e00
{}
但是,它不提供 GET
方法(例如),因此会返回“未知方法”错误
bash
% curl https://: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":""}}%