.NETコンソールアプリでSeleniumを使ってみる

提供: MonoBook
2019年12月20日 (金) 06:54時点におけるAdministrator (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

コンソールアプリを新規作成する

Visual Studio for Macでコンソールプロジェクトを新規作成する。 今回は.NET Coreではなく.NETで作った。

NuGetパッケージを追加する

NuGetパッケージを追加する。依存関係が設定されていないので個別に入れた。

  • Selenium.WebDriver
  • Selenium.WebDriver.ChromeDriver

ソースコードを書く

ソースコードを書く。

    using System;
    using System.IO;
    using System.Reflection;

    // 名前空間がSeleniumではなくOpenQA.Seleniumとわかりにくい。
    // インテリセンスで出てこない。
    using OpenQA.Selenium.Chrome;

    class MainClass
    {
        public static void Main(string[] args)
        {
            Headless();
        }

        public static void Headless()
        {
            // ChromeOptionsオブジェクトを生成します。
            var options = new ChromeOptions();
            // --headlessを追加します。
            //options.AddArgument(@"--headless");

            // ChromeOptions付きでChromeDriverオブジェクトを生成します。
            var chrome = new ChromeDriver(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), options);

            // URLに移動します。
            chrome.Url = @"https://www.google.co.jp/search?q=site:monobook.org&tbs=qdr:y&sa=N";

            // タイトルを表示します。
            Console.WriteLine(chrome.Title);

            // すぐ終了しないよう、キーが押されるまで待機します。
            Console.ReadKey();

            // ブラウザを閉じます。
            chrome.Quit();
        }
    }

Macでも普通に動いた。これすごくね。

関連項目