Selenium(Edge/Chrome)

Edge/Chromeでセレクトボックスの選択肢を配列で取得【Selenium】【ExcelVBA】

今回は、セレクトボックス(プルダウンメニュー)の選択肢の一覧を配列で取得します。

セレクトボックスで現在選択中の情報を取得

当方の問い合わせページにセレクトボックスがある為、そちらをサンプルとして記載します。

Public driver As New WebDriver
Public Sub sample()
    '■ブラウザを起動
    driver.Start "chrome" 'Edgeの場合はdriver.start "edge"
    driver.Get "https://vba-create.jp/kyoteivba-contact/"
   
    '■配列にSplitで取得
    Dim arr As Variant
    arr = Split(driver.FindElementsByName("votemenu")(1).Text, vbLf)
       
End Sub

'■HTMLサンプル(今回現在選択されている状態は「<option value=""></option>の空白です」)
<span class="wpcf7-form-control-wrap votemenu">
	<select name="votemenu" class="wpcf7-form-control wpcf7-select wpcf7-validates-as-required" aria-required="true" aria-invalid="false">
		<option value=""></option>
		<option value="人気_追上(No別)">人気_追上(No別)</option>
		<option value="人気_追上(Gr別)">人気_追上(Gr別)</option>
		<option value="人気_追上(場別)">人気_追上(場別)</option>
		<option value="買い目_追上(No別)">買い目_追上(No別)</option>
		<option value="買い目_追上(Gr別)">買い目_追上(Gr別)</option>
		<option value="買い目_追上(場別)">買い目_追上(場別)</option>
		<option value="買い目_通常">買い目_通常</option>
		<option value="その他投票">その他投票</option>
	</select>
</span>

SeleniumBasicについて

Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。

但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。

コメント

タイトルとURLをコピーしました