WebDriverVBA

WebDriverVBA「Edge/Chromeでラジオボタンの選択/解除」【ExcelVBA】

2022年、Internet Explorerのサポート終了→SeleniumBasicに置き換えた開発を進めましたが、
SeleniumBasicのインストールが厳しい環境のユーザー様も多く存在しました。
その為、自前でWebDriverを動かす「WebDriverVBA」の開発を進めました。

ある程度動くよう(SeleniumBasicに比べたらまだまだですが)になったため、
同じようにお困りのユーザーの方に、ソフトライセンス販売の形で提供致します。
WebDriverVBAを使用した際のサンプルコードを以下に記載します。

ラジオボタンを選択・解除するサンプルコード

VBAでEdge/Chromeを起動し、Webページ内のラジオボタンの選択・解除する方法です。
要素を指定し、クリック処理を入れるだけです。

当方の問い合わせページにラジオボタンがある為、そちらをサンプルとして記載します。


Public Sub test_click_radio_button()

    Dim driver As webDriverVBA
    Set driver = New webDriverVBA

    Dim val As Variant

    '■ドライバーを起動
    Call driver.Start(vcChrome)

    '■目的のサイトへ移動する
    Call driver.Navigate("https://vba-create.jp/contact/")

    '■ウインドウを最大化
    Call driver.MaximizeWindow

    '■読み込みを待つ
    Call driver.Wait(2000)

    '■「VBA開発の予算」までスクロール
    Call driver.ScrollTo("//*[@id=""wpcf7-f25-p23-o1""]/form/p[7]/label", vcXpath)

    '■ラジオボタンをクリック
    Call driver.Click("radio-type", vcName, 1) 'メール希望
    Call driver.Click("radio-type", vcName, 2) '電話希望
    Call driver.Click("radio-type", vcName, 3) '打合せ希望

End Sub

'■HTMLサンプル(name="radio-type"があり、name要素が存在)
<span class="wpcf7-form-control wpcf7-radio"> 
    <span class="wpcf7-list-item first"> 
        <input type="radio" name="radio-type" value="メール希望" checked="checked"> 
        <span class="wpcf7-list-item-label">
            メール希望
        </span>
    </span>
    <span class="wpcf7-list-item">
        <input type="radio" name="radio-type" value="電話希望">
        <span class="wpcf7-list-item-label">
            電話希望
        </span>
    </span>
    <span class="wpcf7-list-item last">
        <input type="radio" name="radio-type" value="打合せ希望">
        <span class="wpcf7-list-item-label">
            打合せ希望
        </span>
    </span>
</span>

Clickしたが反応がない場合がある

onclick等のJavaScript(JS)要素があるラジオボタンは反応しない場合があります。

ラジオボタンにJavaScript要素がある場合
ラジオボタンの処理はしたが、JavaScript側の動作(onClick処理等)を行っていない為、
 ブラウザ上は何もしていない扱いと同様になります。
上記の場合はExecuteScriptで、JavaScriptを動作させることで回避可能です。
※近日記事公開予定
  • WebDriverVBAまとめページ(ページが増えれば公開します。)

WebDriverVBAについて

Excel VBAでSeleniumBasicを使わずにEdge/Chromeでスクレイピングするためのツールです。
SeleniumBasicがインストールできない環境の方にもスクレイピングをお助けします。

料金などについてはこちらからお問い合わせくださいませ。

 

 

コメント

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