前回、VBAでChrome/Edgeを起動し、Webページ内のセレクトボックスの選択・解除する方法を記事にしました。
Chrome/Edgeでチェックボックスの選択/解除
今回は、セレクトボックス(プルダウンメニュー)で選択された情報を取得します。
セレクトボックスで現在選択中の情報を取得
当方の問い合わせページにセレクトボックスがある為、そちらをサンプルとして記載します。
Public driver As New WebDriver Public Sub sample() '■ブラウザを起動 driver.Start "chrome" 'Edgeの場合はdriver.start "edge" driver.Get "https://vba-create.jp/kyoteivba-contact/" '■WebElementに代入 Dim el As WebElement Set el = driver.FindElementsByName("votemenu")(1).AsSelect.SelectedOption Debug.Print el.Text '今回はselectedは初期状態の「空白」の為、""と表示 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でのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。
コメント