山pの楽しいお勉強生活

勉強の成果を垂れ流していきます

Gebでファイルをダウンロードする

概要

コード

@Grapes([
    @Grab("org.gebish:geb-core:1.1"),
    @Grab("org.seleniumhq.selenium:selenium-chrome-driver:3.0.1"),
])

import org.openqa.selenium.chrome.ChromeDriver
import geb.Browser

println "start ${new Date().format('yyyy/MM/dd HH:mm:ss')}"

// chromedriver.exeは前もって準備が必要。
System.setProperty("webdriver.chrome.driver", "./driver/chromedriver.exe")

def downLoadPath = $/C:\work\20170301/$

Browser.drive(driver : new ChromeDriver()) {
  go "http://gebish.org"
  def bytes = downloadBytes($("a")[0].@href)

  // ↑のURLは実際にはhtmlですがファイル名はzipで保存してみます。
  def outputPath = "${downLoadPath}/hoge.zip"
  new File(outputPath).newOutputStream().write(bytes)
}

println "end ${new Date().format('yyyy/MM/dd HH:mm:ss')}"