このページで紹介するメソッド
複数のサイトを横断して情報を収集・入力するような場合、例えば気象庁のサイトで取得した平均気温を自社の基幹システムへ入力するなどの時「LesserScraping」では、ウィンドウを分けてGoogleChrome(以下chrome)を立ち上げるか、新しいタブを開くかで対応ができます。このページではExcelVBA(マクロ)によって自動で開かれたchromeで新しいタブを開く「NewWindow」メソッドについて解説します。
事前準備(LesserScraping)
chromeのプロファイルを作成済、かつ「LesserScraping」というクラスが用意されていることを前提に解説をすすめますが、何を言っているかわからないよという方は、まず初回記事を読んでください。
引数
このメソッドには引数はありません。
サンプルコード
Private Sub Test_LesserScraping_NewWindow()
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/")
Set Driver = Nothing
End Sub
【結果】新しいタブを開くことができました
サンプルコードを実行すると、chromeが自動で立ち上がり当サイトの「LesserScraping」紹介ページへ遷移します。その後、新しいタブを開き、開いたタブで当サイトのトップページ(関数リファレンス)へ遷移します。ここで気を付ける点は新しいウィンドウを開くと自動的に操作対象が新しいウィンドウに移ることです。新しいタブを開いてそのまま既存のタブで操作を続ける場合は、操作対象となるタブを変更するメソッドを実行する必要があります(※別記事で解説)。
業務用PCでスクレイピングするなら「LesserScraping」
業務用PCでExcelVBA(マクロ)からWebスクレイピングをしようとすると「Selenium Basic」の導入でつまずく方は多いです。当サイトでは劣化版Selenium Basicと呼べる「Lesser Scraping」を開発し無償で公開しています。
Comment