【VBA×初学者向け】チェックボックスの操作方法について
みなさんこんにちは。
WebスクレピングでチェックボックスのON/OFFを切り替える局面にたくさん出くわすと思います。
実際には、チェックボックスで条件のON/OFFを切り替えてから、
「次へ」ボタンなどをクリックして次の処理に進むというシチュエーションは数多くの現場に見られるので、
チェックボックスの操作は必須とも言えます。
今回は、必須の基本動作であるチェックボックスの操作方法についてご紹介します。
この記事はこんな人におすすめ
この記事はこんな人におすすめです!
- VBAプログラミング:初学者~初級者
- Webスクレイピング:初学者~初級者
- コードだけサクッと取得したい人
- 効率の良いコードを書きたい人
といったところでしょうか。
VBA×Seleniumに関する過去の記事
VBA×Seleniumに関する小ワザやテクニック、初学者向けの参考記事については、過去にご紹介しております。
今回の記事を読むメリット
チェックボックスの操作方法を知るメリットは以下の通りです。
- Webスクレイピングの基礎の定着
- 基本操作の振り返りと備忘録
といったところでしょうか。
スクレイピングを数多く実施していると誰しもが経験する内容かと思います。
且つ忘れずに覚えていくことが作業効率につながります。
一度やり方を覚えてしまえば今後も活かせる内容になるかと思います。
手順紹介
参考サイト
今回は一休というホテルの情報を掲載しているサイトを例にします。
CHECK!
【一休のサイトを見たい人は⇒一休公式HP】

一休のサイトにある「ホテル」と「旅館」のチェックボックスの状態を見ていくことにします。
- 「ホテル」のチェックボックスはチェックをONに変更して確認をします。
- 「旅館」のチェックボックスはデフォルトの状態(OFF)であることを確認します。

コード紹介
コードは以下のようになります。
Option Explicit
Private Sub Handle_Checkbox()
Dim Assert As New Selenium.Assert
Dim driver As New Selenium.WebDriver
Dim strXpath As String
With driver
.Start "Chrome" 'クロームブラウザを立ち上げます。
.Get "https://www.ikyu.com/" ' 一休サイトを開く
strXpath = "/html/body/div[1]/div/div[1]/main/div/div[2]/div/div/div/div[1]/div[2]/div/div/ul/li[1]/label/span/span[1]/input" '「ホテル」のチェックボックスのXpathを取得
.FindElementByXPath(strXpath).Click ' 「ホテル」のチェックボックスをクリック
If .FindElementByXPath(strXpath).IsSelected = True Then
' Trueの場合
Debug.Print "「ホテル」のチェックボックスはON状態"
Else
' Falseの場合
Debug.Print "「ホテル」のチェックボックスはOFF状態"
End If
strXpath = "/html/body/div[1]/div/div[1]/main/div/div[2]/div/div/div/div[1]/div[2]/div/div/ul/li[2]/label/span/span[1]/input" '「旅館」のチェックボックスのXpathを取得
If .FindElementByXPath(strXpath).IsSelected = True Then
' Trueの場合
Debug.Print "「旅館」のチェックボックスはON状態"
Else
' Falseの場合
Debug.Print "「旅館」のチェックボックスはOFF状態"
End If
.Quit
End With
End Sub
結果
イミディエイトウィンドウは以下のような出力結果となりました。

画面の状態も以下のようになっています。

最後に
いかがでしたでしょうか。
Seleniumを使用しているとチェックボックスの操作は必須条件となります。
ですので、しっかりマスターして基本を抑えながらと実装できると業務効率も格段に向上するかと思います。
そのきっかけとして、少しでも参考になればと思います。
開発依頼について
ココナラでWebスクレイピング開発サービスを出品しております。
自分で開発をしようと思ったけど、依頼したり、何か聞きたいことがあったりしたら
いつでもお気軽にご相談ください。
また、本ブログからご依頼いただいた方については割引特典がございますので、
ご不明点と合わせてメッセージをいただけると幸いです。
Excelにてブラウザ操作自動化ツールを作成します その作業、webスクレイピングを使って自動化しましょう!
Webスクレイピング以外にもWebアプリの開発サービスも出品しております。
こちらについても、本ブログからご依頼いただいた方については割引特典がございます。
スモールスケールのWebアプリ開発します 先ずはスモールスケールのWebアプリから始めませんか?