このページで紹介するメソッド
「LesserScraping」ではExcelVBA(マクロ)の処理が終了した後もGoogleChrome(以下chrome)は閉じられずに残ります。スクレイピングの処理後にユーザーの操作が必要ない場合や一時的に開いたタブを閉じてしまいたい場合があります。このページではExcelVBA(マクロ)で操作中のchromeのタブを閉じる「CloseCurrentWindow」メソッドについて解説します。
事前準備(LesserScraping)
chromeのプロファイルを作成済、かつ「LesserScraping」というクラスが用意されていることを前提に解説をすすめますが、何を言っているかわからないよという方は、まず初回記事を読んでください。
引数
このメソッドには引数はありません。
サンプルコード
Private Sub Test_LesserScraping_CloseCurrentWindow()
Dim Driver As LesserScraping: Set Driver = New LesserScraping
Call Driver.Start
Call Driver.NavigateTo("https://funcref.com/lesserscraping/", 1500)
Call Driver.NewWindow
Call Driver.NavigateTo("https://funcref.com/")
Call Driver.Wait(1500)
Call Driver.CloseCurrentWindow
Set Driver = Nothing
End Sub
【結果】操作対象のタブを閉じることができました
サンプルコードを実行すると、chromeが自動で立ち上がり当サイトの「LesserScraping」紹介ページへ遷移します。次に新しいタブを開き、開いたタブで当サイトのトップページ(関数リファレンス)へ遷移します。1500ミリ秒(1.5秒)待機したのち、新しく開いたタブを閉じます。この時、操作可能なタブがまだ残っている場合は、右のタブへ操作対象が移ります。※右にタブがない場合は一番左。
業務用PCでスクレイピングするなら「LesserScraping」
業務用PCでExcelVBA(マクロ)からWebスクレイピングをしようとすると「Selenium Basic」の導入でつまずく方は多いです。当サイトでは劣化版Selenium Basicと呼べる「Lesser Scraping」を開発し無償で公開しています。
Comment