このページで紹介するメソッド
「LesserScraping」では新しいタブを開くと操作中のタブが新しいタブへ切り替わります。以降の操作は新しいタブに対して実行されるようになりますが、一通りの操作が済んだあと、新しく開いたタブはそのままで、また元のタブへ操作を切り替えたいということがあります。このページではExcelVBA(マクロ)でGoogleChrome(以下chrome)の操作対象のタブを左のタブへ切り替える「SwitchToLeftWindow」メソッドについて解説します。
事前準備(LesserScraping)
chromeのプロファイルを作成済、かつ「LesserScraping」というクラスが用意されていることを前提に解説をすすめますが、何を言っているかわからないよという方は、まず初回記事を読んでください。
引数
このメソッドには引数はありません。
サンプルコード
Private Sub Test_LesserScraping_SwitchToLeftWindow()
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.SwitchToLeftWindow
Set Driver = Nothing
End Sub
【結果】操作対象のタブを切り替えることができました
サンプルコードを実行すると、chromeが自動で立ち上がり当サイトの「LesserScraping」紹介ページへ遷移します。次に新しいタブを開き、開いたタブで当サイトのトップページ(関数リファレンス)へ遷移します。最後に操作対象のタブを元のタブに戻しています(※左のタブがフォーカスされている)。なお、左にタブがない場合は一番右のタブに操作対象が移ります。
業務用PCでスクレイピングするなら「LesserScraping」
業務用PCでExcelVBA(マクロ)からWebスクレイピングをしようとすると「Selenium Basic」の導入でつまずく方は多いです。当サイトでは劣化版Selenium Basicと呼べる「Lesser Scraping」を開発し無償で公開しています。
Comment