%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))