概要
ドロップダウン等の選択可能なWeb要素ハンドル用のクラスの解説です。
オブジェクト設定
・変数宣言
Dim select_ele As SelectElement
・親クラス:WebElement.AsSelect
文法
Set select_ele = driver.[SearchContext].AsSelect
select_ele.[メソッド]
メソッド・プロパティ
メソッド
スクロールできます
Name | 解説 | ShortExample |
---|---|---|
DeselectAll | 選択したエントリの全クリア。複数選択が可能な場合に有効 | select_ele.DeselectAll |
DeselectByIndex | インデックスにて選択解除 | select_ele.DeselectByIndex 0 |
DeselectByText | テキストにて選択解除 | select_ele.DeselectByText "複数選択可能なセレクトボックス・表示する値3" |
DeselectByValue | 値にて選択解除 | select_ele.DeselectByValue "2" |
SelectByIndex | インデックスにて選択 | ele.SelectByIndex 1 |
SelectByText | テキストにて選択 | ele.SelectByText "Option 2" |
SelectByValue | 値にて選択 | ele.SelectByValue "2" |
※Short Exampleは、動作確認ができたコードを記載しています。
プロパティ
スクロールできます
Name | 解説 | ShortExample |
---|---|---|
AllSelectedOptions | select 要素内で選択されている全オプションを取得 | Set eles = select_ele.AllSelectedOptions |
IsMultiple | 親要素が複数選択をサポートしているかどうかを示す値を取得します。 | Debug.Print ele.IsMultiple |
Options | select 要素のオプションのリストを取得 | Set elms = ele.Options |
SelectedOption | select 要素内で選択された項目を取得 | Debug.Print "Selected: " & ele.SelectedOption.Text |
※Short Exampleは、動作確認ができたコードを記載しています。
Example
Handle_Dropdown_List
Private Sub Handle_Dropdown_List()
Dim Assert As New Selenium.Assert
Dim driver As New ChromeDriver
driver.Get "https://the-internet.herokuapp.com/dropdown"
driver.Wait 2000
Dim ele As SelectElement
Set ele = driver.FindElementById("dropdown").AsSelect
ele.SelectByText "Option 2"
driver.Wait 1500
ele.SelectByIndex 1
driver.Wait 1500
ele.SelectByValue "2"
Debug.Print ele.IsMultiple
Debug.Print "Selected: " & ele.SelectedOption.Text
Dim elms As WebElements, elm As WebElement
Set elms = ele.Options
For Each elm In elms
Debug.Print elm.Text
Next elm
driver.Wait 1500
' Stop
driver.Quit
End Sub
Multi_SelectElement
Private Sub Multi_SelectElement()
Dim Keys As New Selenium.Keys
Dim driver As New ChromeDriver
driver.Get "https://bayashita.com/p/entry/show/24"
Dim select_ele As SelectElement
Set select_ele = driver.FindElementByXPath("//*[contains(@id,'list1')]").AsSelect
Debug.Print "MultSelect: " & select_ele.IsMultiple
Dim i As Integer
For i = 0 To 4
select_ele.SelectByIndex i
Next i
select_ele.DeselectByIndex 0
select_ele.DeselectByText "複数選択可能なセレクトボックス・表示する値3"
select_ele.DeselectByValue "2"
select_ele.DeselectAll
For i = 0 To 4
select_ele.SelectByIndex i
Next i
Stop
Dim ele As WebElement, eles As WebElements
Set eles = select_ele.AllSelectedOptions
For Each ele In eles
Debug.Print ele.Text
Next ele
Stop
driver.Quit
End Sub
SeleniumeBasicでドロップダウンリストをハンドルする usage_list
SeleniumBasicでドロップダウンリストを扱う構文を紹介します。 ドロップダウンリストから選択(シングルセレクト) ホームページにあるドロップダウンから一つ選択...