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