ただ、別マシンから Windows 上のfirefox でスクショとりたいだけなのに、Selenium がややこしすぎたのでMEMO。
用意する環境
ブラウザ操作される側
Windows7,10
standalone.jar
gecko.exe
指示側
Centos
ruby
selenium-webdriver
起動の仕方
standaloneでwebdriverを指定するとドライバー経由で起動してくれる。
ドライバー単体でも起動できるが、個別にドライバーを起動する必要はない。むしろ起動してしまうとポートがぶつかってややこしい。
java -Dwebdriver.gecko.driver="C:\geckodriver.exe" -jar selenium.jar
ruby
driver = Selenium::WebDriver.for :remote , url: "http://192.168.1.11:4444/wd/hub", desired_capabilities: :firefox
driver.navigate.to "https://google.com"
driver.save_screenshot('path/to/filename.png')
スクリーンショット取れたぞー。
混乱させられた所
名前で混乱
サーバー側で起動するときは、geckoとなっているが、rubyではfirefoxとなっている。
レンダリングエンジン名とブラウザ名がばらばらでわかりずらい。
Webドライバーで混乱
W3Cwebdriver と selenium webdriver 二つがあってどうやら、W3CがW3CwebdriverというAPIを提供しているようだ。Selenium3.0? からは W3Cwebdriver に向かおうとしてるみたい。
ブラウザが統一のAPIを提供しだしたということは、Selenium Driverはお役ごめんとなりそう。
用語多すぎて記事が少なすぎて混乱
Selenium2.0?3.0? SeleniumSelenium RC? Selenium Grid? Selenium-standalone? Selenium-server? Selenium-webdriver? Marionette? chromedriver?
Seleniumの中で大きな変化が起こっているようで、新しい記事が間に合っていない。
こんなに混乱させられるなら、Seleniumって名前は捨てて新しいソフト名で作ったほうがいいように思いました。
私だけ?