LoginSignup
5
1

More than 5 years have passed since last update.

WebDriverManagerを使用してgekcodriverを自動インストール、groovyでgeb実行する

Last updated at Posted at 2017-04-02

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()
5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1