経過1
(MatchError) no match of right hand side value: {:error, %WebDriverClient.WebDriverError{message: "a WebDriver error occurred: :session_not_created\n", reason: :session_not_created}}
- web_driver_client hex を試してみたときのエラー
- githubの記述例をもとに下記を実行したときに返ってきた
{:ok, session} =
"http://browser:4444/wd/hub"
|> WebDriverClient.Config.build(protocol: :w3c)
|> WebDriverClient.start_session(%{"capabilities" => %{}})
browser:4444
は、dockerコンテナselenium/standalone-chrome:3
が宛先WebDriverClient.Config.build
にはdebug: true
を指定できるのでエラーを探る- 続く…
経過2
"org.openqa.selenium.SessionNotCreatedException: Unable to create session from ~略
WebDriverClient.Config.build
にdebug: true
を指定して実行し、browser:4444/wd/hub
から返ってきたエラー- 適当にpythonコードを拾ってきて
browser:4444/wd/hub
を使ったがこっちでは使用できた- pythonのサンプルコードを読むに desiredCapability なるオプションを指定している
- =>
desiredCapability
をつけたら通った。chromeであることを伝える必要があるということか (?)
ひとまず動作確認できたコード
capabilities = %{
loadImages: false,
takesScreenshot: true,
cssSelectorsEnabled: true,
javascriptEnabled: true,
chromeOptions: %{
args: [
"--no-sandbox",
"window-size=1280,800",
"--disable-gpu",
"--headless",
"--fullscreen",
]
}
}
desired_capabilities = %{
"browserName" => "chrome",
"version" => "",
"platform" => "ANY"
}
{:ok, session} =
"http://browser:4444/wd/hub"
|> WebDriverClient.Config.build(protocol: :jwp, debug: true)
|> WebDriverClient.start_session(%{
"desiredCapabilities" => desired_capabilities,
"capabilities" => capabilities,
})