An error 400 response is being returned after sending a POST HTTP click request to a chromedriver HTTP server.
The POST request has no body and its URL is “http://localhost:9515/session/{$sessionId}/element/{$elementId}/click”. Both $sessionId and $elementId are valid. Element is visible. Tried different elements, for example h3 or a.
The body of the 400 response:
{"value":{"error":"invalid argument","message":"invalid argument: missing command parameters","stacktrace":"\tGetHandleVerifier [0x00007FF62B1C4D02+56194]\n\t(No symbol) [0x00007FF62B1304B2]\n\t(No symbol) [0x00007FF62AFD76AA]\n\t(No symbol) [0x00007FF62B03ECB6]\n\t(No symbol) [0x00007FF62B03E44F]\n\t(No symbol) [0x00007FF62AFA6315]\n\tGetHandleVerifier [0x00007FF62B53D5BB+3695675]\n\tGetHandleVerifier [0x00007FF62B596197+4059159]\n\tGetHandleVerifier [0x00007FF62B58DF63+4025827]\n\tGetHandleVerifier [0x00007FF62B25F029+687785]\n\t(No symbol) [0x00007FF62B13B508]\n\t(No symbol) [0x00007FF62AFA5103]\n\tGetHandleVerifier [0x00007FF62B5DD4A8+4350760]\n\t(No symbol) [0x00007FFEE2B57344]\n\tRtlUserThreadStart [0x00007FFEE4A626B1+33]\n"}}
The setup is simple – I have just downloaded chromedriver.exe from https://googlechromelabs.github.io/chrome-for-testing/ , run it with default parameters and communicate with it using HTTP.
The question is, what command parameters does the “click” endpoint need?
The sub-question is, where can I find complete (and possibly official?) chromedriver API documentation? The WebDriver definition https://w3c.github.io/webdriver/#dfn-execute-script is too abstract. There is also another documentation “https://github.com/jlipps/simple-wd-spec#element-click”, but according to that, the “click” endpoint has no additional paremeters.