WebDriverManagerを使用してgeckodriver(SeleniumのWebDriver)を自動インストールする方法 - Qiita
GitHub - bonigarcia/webdrivermanager: Automatic Selenium WebDriver binaries management in runtime for Java
上記を見てやってみた。
-
io.github.bonigarcia:webdrivermanager:1.6.1
を grab する -
org.openqa.selenium.firefox.FirefoxDriver
を import - 実行前にドライバ読み込み
groovy google_search.groovy
実行で普通に動いた。
googlejp_search.groovy
@Grab('org.gebish:geb-core:1.1.1')
@Grab('org.seleniumhq.selenium:selenium-firefox-driver:3.3.1')
@Grab('org.seleniumhq.selenium:selenium-support:3.3.1')
@Grab('io.github.bonigarcia:webdrivermanager:1.6.1')
@GrabExclude('org.codehaus.groovy:groovy-all')
import geb.Browser
import geb.navigator.NonEmptyNavigator
import org.openqa.selenium.*
import org.openqa.selenium.remote.DesiredCapabilities
import org.openqa.selenium.firefox.FirefoxDriver
// https://github.com/bonigarcia/webdrivermanager
import io.github.bonigarcia.wdm.FirefoxDriverManager
DesiredCapabilities capabilities = DesiredCapabilities.firefox()
capabilities.setCapability("marionette", true)
capabilities.setCapability("timeoutInSeconds", (long)60)
// ドライバ読み込み
FirefoxDriverManager.getInstance().setup();
/*
* brew install geckodriver してから以下を読み込んでいたが、必要がなくなった。
* System.setProperty("webdriver.gecko.driver", "/usr/local/bin/geckodriver")
* /
Browser browser = new Browser(driver:new FirefoxDriver(capabilities))
browser.driver.manage().window().size = new Dimension(1200,900)
browser.with {
go "https://www.google.co.jp"
waitFor { title == 'Google' }
$('input#lst-ib').value("けものフレンズ")
$("input", name: "btnK").click()
}
2018/12/20 追記
FirefoxDriverManager.getInstance().setup()
は、WebDriverManager の 3.x から使えなくなっていた。
新しい書き方は、 WebDriverManager.firefoxdriver().setup()
と書く。
WebDriverManager as Java dependency | bonigarcia/webdrivermanager
import io.github.bonigarcia.wdm.WebDriverManager
// ドライバ読み込み
WebDriverManager.firefoxdriver().setup()