超簡単!vb.netでSeleniumを使ってchromeをWeb自動操作(スクレイピング)させたときのメモ

スポンサードリンク

Seleniumにはいくつか種類があり、それぞれ若干の違いがあるのですが、
いろいろ使ったSeleniumのなかで特に直感的に、わかりやすく使いやすいと思われる SeleniumBasicをインストールし、実際にVisual Studioから使ってWeb自動操作をし、情報を取得するまでの手順をまとめてみました。

環境

Seleniumbasicをダウンロードしてインストールする

インストールが済んでいない場合、以下からダウンロードしてインストール

https://florentbr.github.io/SeleniumBasic/

image

インストール方法は以下のエントリからも確認できます。

SeleniumBasicをインストールしてExcelから使うまでのチュートリアル(スクレイピングサンプルプログラム付き)

Chrome DriverをダウンロードしてSeleniumbasicをインストールした場所にコピーする

https://sites.google.com/a/chromium.org/chromedriver/

image

%LOCALAPPDATA%\SeleniumBasic の確認

image

Micrtosoft Visual Studioで新しいプロジェクトを作成

Visual Basic –  コンソールアプリ(.NET Framework)を選択

image

Yahoo JAPAN!の検索窓に「Selenium」を入力し、検索ボタンを押下して検索結果を取得する

ソリューションエクスプローラーの参照をクリックして参照を追加する

image

image

SeleniumBasicをインストールしたフォルダの Selenium.dll を参照設定する

image

ビルド時chromedriver.exeが自動的に出力フォルダにコピーされるように設定

以下のファイルをソリューション エクスプローラーの ConsoleApp4 にドラッグ&ドロップする

image

この辺りに上記ファイルをドラッグ&ドロップする

image

chromedriver.exe がプロジェクトフォルダ配下にコピーされました。

image

ここまでの作業が正しくできていれば以下のような表示になっているはずなので、chromedriver.exeのプロパティを設定する。

image

プロパティウィンドウでビルド時に出力ディレクトリにコピーされるように設定する

image

Yahoo! Japanよりキーワード検索し、検索結果をスクレイピングする

Module1.vb に以下のプログラムを入力

Imports Selenium

Module Module1

    Sub Main()
        Dim Driver As New Selenium.ChromeDriver

        With Driver
            .Start()
            .Get("https://www.yahoo.co.jp/")
            .FindElementByCss("#srchtxt").SendKeys("Selenium")
            .FindElementByCss("#srchbtn").Click()

            For Each elmLoop As WebElement In .FindElementsByCss("#WS2m > div > div.hd > h3 ")
                Console.WriteLine(elmLoop.Text)
                Console.WriteLine(vbTab & elmLoop.FindElementByTag("a").Attribute("href"))
                Console.WriteLine()
            Next

            Console.ReadLine()

            .Quit()


        End With

    End Sub

End Module


実行結果

image

Chromeの実行画面を表示させたくない場合

以下のエントリ参照

Selenium BasicでヘッドレスChromeを使う方法

スポンサードリンク

スポンサードリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする