LS000021_GoogleChromeで指定した要素のテキストを取得する

GoogleChromeで指定した要素のテキストを取得する LesserScraping

このページで紹介するメソッド

Webスクレイピングの最終目的はWebページに表示されたテキストデータを取得することであることが多いです。ExcelVBA(マクロ)で自動的に起動したGoogleChrome(以下chrome)に表示されているテキストデータを要素を指定して取得する「GetText」メソッドについて解説をします。

事前準備(LesserScraping)

chromeのプロファイルを作成済、かつ「LesserScraping」というクラスが用意されていることを前提に解説をすすめますが、何を言っているかわからないよという方は、まず初回記事を読んでください。

引数

■第1引数:element_value_or_path
 ⇒要素を指定する文字列

■第2引数:element_type
 ⇒要素の指定方法

■第3引数:element_index
 ⇒要素が絞り込めない場合、先頭からの番号(1始まり)

要素(Element)の指定方法

第1~第3引数までの指定方法がわからないという方は、先にこちらの記事を読んでください。

戻り値

指定した要素に設定されているテキストデータをString型で返します。

サンプルコード(クリックでコピー)

Private Sub Test_LesserScraping_GetText()
Dim Driver As LesserScraping: Set Driver = New LesserScraping
Call Driver.Start
Call Driver.NavigateTo("https://funcref.com/whataspara/", 1500)
Call Driver.MaximizeWindow
Debug.Print Driver.GetText("//*[@id=""post-21""]/div/div[1]/p[2]", lsXpath)
Set Driver = Nothing
End Sub

【結果】Webページに表示されたテキストを取得できました

サンプルコードを実行すると、当サイトの「運営者情報」へ遷移し、アスパラの由来について書かれた文章を取得し、イミディエイトウィンドウに書き出します。

業務用PCでスクレイピングするなら「LesserScraping」

業務用PCでExcelVBA(マクロ)からWebスクレイピングをしようとすると「Selenium Basic」の導入でつまずく方は多いです。当サイトでは劣化版Selenium Basicと呼べる「Lesser Scraping」を開発し無償で公開しています。

 

Comment