0
@Grapes([
    @Grab("org.codehaus.geb:geb-core:0.7.2"),
    @Grab("org.seleniumhq.selenium:selenium-firefox-driver:2.15.0"),
    @Grab("org.seleniumhq.selenium:selenium-support:2.15.0")
])
import geb.Browser

Browser.drive {
  // Load the page
  go "http://www.whu.edu.cn"

  // $("a") returns all hyperlinks on the page, similar to jQuery
  $("a").each { a ->
     // Display the required link properties and attributes
     println """
        The link to '${a.@href}' with text '${a.text()}' is at location (${a.x}, ${a.y}),
        with a height of ${a.height}px and a width of ${a.width}px.
     """
  }
}

Eclipse で最初の Groovy プロジェクトを作成し、プロジェクト内に最初の Groovy クラスを作成しました。クラス用に書かれたものはすべて上記のとおりです。スクリプトを実行すると、エラーは発生せず、時間内に終了しませんでした。

注釈付きの依存関係をすべてダウンロードしようとしていましたか? その場合、実行するたびに依存関係をダウンロードする必要がありますか? それとも一度限りですか?

4

1 に答える 1

2

これを実行すると、@Grab で注釈が付けられた各ライブラリの正しいバージョンがダウンロードされているかどうかが確認され、ダウンロードされていない場合はダウンロードが試みられます。そして、それは名前付きライブラリだけではなく、それらのライブラリの依存関係でもあります。

そのため、最初の実行には時間がかかる場合があります。後続の実行にかかる時間は大幅に短縮されます。

これは単なる便宜であることに注意してください。必要なライブラリをダウンロードして、'groovy' コマンドの -classpath 引数で指定することもできます (Grapes/Grab 構造を削除します)。

詳細については、 http: //groovy.codehaus.org/Grapeを参照してください。

于 2012-12-14T04:24:46.387 に答える