このページで紹介するメソッド
WebスクレイピングではWebページ内の要素(Element)を特定し、操作を加えたり値を取得したりすることが基本ですが、ブラウザの機能を使用することもできます。このページではExcelVBA(マクロ)によるGoogleChrome(以下chrome)の操作で「前の画面に戻る」機能を使用する「GoBack」メソッドについて解説します。
事前準備(LesserScraping)
chromeのプロファイルを作成済、かつ「LesserScraping」というクラスが用意されていることを前提に解説をすすめますが、何を言っているかわからないよという方は、まず初回記事を読んでください。
引数
このメソッドに引数はありません。
サンプルコード
Private Sub Test_LesserScraping_GoBack()
Dim Driver As LesserScraping: Set Driver = New LesserScraping
Call Driver.Start
Call Driver.MaximizeWindow
Call Driver.NavigateTo("https://funcref.com/lesserscraping/", 1500)
Call Driver.Click("LS000001_GoogleChromeを起動する", lsLinkText, 1, 500)
Call Driver.Wait(2000)
Call Driver.GoBack
Set Driver = Nothing
End Sub
【結果】chromeで前の画面に戻ることができました
サンプルコードを実行すると、chromeが自動で立ち上がり当サイトの「LesserScraping」紹介ページへ遷移します。次にページ内から「LS000001_GoogleChromeを起動する」と名前の付いたリンク付きテキストを探し1番目をクリックします。遷移した先で2000ミリ秒(2秒)待機した後、ブラウザの「前の画面に戻る」機能で元のページに戻ってきます。「前の画面に戻る」機能を使用しているため、戻ってきた画面はページの先頭ではなく、遷移前の位置になっています。
業務用PCでスクレイピングするなら「LesserScraping」
業務用PCでExcelVBA(マクロ)からWebスクレイピングをしようとすると「Selenium Basic」の導入でつまずく方は多いです。当サイトでは劣化版Selenium Basicと呼べる「Lesser Scraping」を開発し無償で公開しています。
Comment