覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。twitter: @yyoshikaw

Selenide - Webサイトへアクセスする

以前、Selenium と Chrome (ChromeDriver)を使用してWebサイトへのアクセスを確認しました。


Selenium を使うと手数が増えてしまうようなので、各プログラム言語ごとにSeleniumのラッパーが存在しています。

Java用のライブラリをとして存在している Selenium のラッパーの一つが Selenide です。

Selenideの読み方は、セレニド or セレナイド のようです。


Selenide を使った方がコード量は圧倒的に減りそうです。

とりあえず、Selenideを使ってWebページへアクセスするところまで試しました。


Javaライブラリの準備

pom.xml に以下のように selenide の依存関係を追加します

        <dependency>
            <groupId>com.codeborne</groupId>
            <artifactId>selenide</artifactId>
            <version>6.3.4</version>
        </dependency>

本サンプルでは バージョン 6.3.4 を指定しています。


ソースコード例

ヘッドレスモードにはしていません。

以下はChrome で Googleのページを開いて検索を実行しているというサンプルです。

import com.codeborne.selenide.Configuration;
import org.openqa.selenium.chrome.ChromeOptions;

import static com.codeborne.selenide.Selectors.*;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.*;
import static com.codeborne.selenide.WebDriverRunner.getWebDriver;

public class TrialSelenide1 {

    public static void main(String[] args) {
        Configuration.baseUrl = "https://www.google.com";
        Configuration.browser = "chrome";
        Configuration.screenshots = false;
        Configuration.holdBrowserOpen = true; // ここでは処理後にあえてブラウザを閉じないように設定しています。

        // "Chromeは自動テストソフトウェアによって制御されています" の表示を消す (消さなくても害はないです)
        ChromeOptions options = new ChromeOptions();
        options.setExperimentalOption("useAutomationExtension", false);
        options.setExperimentalOption("excludeSwitches", new String[] { "enable-automation" });
        Configuration.browserCapabilities.setCapability(ChromeOptions.CAPABILITY, options);

        // Googleを開く
        open("");

        // ウィンドウの最大化(やる必要は特にないです)
        getWebDriver().manage().window().maximize();

        // Googleで検索を実行
        $(byName("q")).val("覚えたら書く blog.y-yuki.net").pressEnter();
    }

}

ここには、画面キャプチャ等の実行結果は貼り付けていませんが、
上記コードで無事にGoogleのページが開いて検索が実行され検索結果のページが表示されることを確認しました。


まとめ

非常に簡単な例ですが、Selenide で対象のWebページを開いて操作ができました。