VBA:【Selenium】ブラウザのテーブルデータを取得し、Excelのシートに出力する方法(AsTableメソッド)
ここではWebシステム等のテーブルデータを取得し、Excelのシートに出力する方法について説明していきます。
◆AsTableメソッド
以下のコードの抜粋では、まずXPathでテーブルを特定します。
次にAsTableとToExcelの後ろにExcelのシート名と貼り付けを開始セルを書くことで、その位置から取得したデータを貼り付ける動きになります。
1 |
Driver.FindElementByXPath("XPath入力").AsTable.ToExcel [データ!A1] |
サンプルコード
あるサイトのテーブル情報をExcelに出力するサンプルコードです。
シートがない場合はエラーになりますが、サンプルなのでエラー処理は入れていません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Public Sub テーブルデータ取得() Dim Driver As New Selenium.WebDriver Dim myBy As New By With Driver 'Chromeで起動' .Start "chrome" 'サイトを開く' .Get "https://www.●●●.com" 'テーブルデータを取得し、「データ」シートのA1から貼り付ける' .FindElementByXPath("//*[@id=""root""]/main/div/div/div[1]/div[2]/section[2]/div/table").AsTable.ToExcel [データ!A1] End With '//ブラウザを終了' Driver.Close Set Driver = Nothing End Sub |