%WebDriverClient.ProtocolMismatchError{actual_protocol: :jwp, expected_protocol: :w3c, ~protocol: jwpでWebDriverClient.find_elementした際にエラー- seleniumはresponseを返してきているが、パースした際にWebDriverClientにてprotocolが違うと評価している
- まず指定したprotocolでパースして、ダメなら次に他のprotocolでパースして、うまくいけばprotocolが違う、という判定
- seleniumのresponseが変?
debug: trueにしてレスポンスを覗く
{
"state": "success",
"sessionId": null,
"class": "org.openqa.selenium.remote.Response",
"value": ~,
"status": 0
}protocol: jwpだと”value”が配列で、1つずつが”ELEMENT”というキーになっていることが前提での処理になっている様子- => このルールになっていなかったのでエラーになっている
- 知識が足りない…
- むりくりだけれど、事前に
protocol: w3cにしてかわす
session = Map.update!(session, :config, & WebDriverClient.Config.put_protocol(&1, :w3c))