概要
ブラウザ情報の取得、ハンドル用のクラスを解説します。
オブジェクト設定
・変数宣言
Dim Cap As Dictionary
・親クラス:Manage
文法
Set Cap = driver.Manage.Capabilities
Cap.[メソッド]
メソッド・プロパティ
メソッド
スクロールできます
Name | 解説 | ShortExample |
---|---|---|
Add | 辞書に新たな値を追加 | Cap.Add "hoge", "age" |
Clear | 辞書のクリア | Cap.Clear |
ContainsKey | キーが存在すればTrue,無ければFalseを返す(完全一致検索) | Debug.Print Cap.ContainsKey("version") |
Get | 指定キーで登録された値を返す。キーが存在しない場合は第二引数を返す。 | Debug.Print Cap.Get("versio", "Not Exsist") |
Set | 指定されたキーの値を設定。キーが無ければキーを新たに作成。 | Cap.Set "hoge", "sage" |
ToExcel | Excelへ出力 |
※Short Exampleは、動作確認ができたコードを記載しています。
プロパティ
スクロールできます
Name | 解説 | ShortExample |
---|---|---|
Count | アイテム数を返す | Debug.Print Cap.Count |
Item | キーに対する値を返す | Debug.Print Cap.Item("hoge") |
Keys | キーを配列で返す | Key = Cap.Keys |
Values | アイテムを配列で返す | Item = Cap.Values |
※Short Exampleは、動作確認ができたコードを記載しています。
CapabilityName
Cap.Item(<検索値>)の検索値部分で指定できるCapabilityNameの一覧を作成しました。
"chrome", "goog:chromeOptions", "proxy", "timeouts"は、型式がDictionary型ですので、String型やBoolean型と同じ様に出力はできません。一度、オブジェクトに代入するか、子クラスのキー指定をする等の方法が必要になります。出力方法は、Exampleを参照ください。
スクロールできます
CapabilityName | 解説 | 型式 |
---|---|---|
acceptInsecureCerts | セッションがデフォルトで全SSL 証明書を受け入れるか | Boolean |
acceptSslCerts | SSL証明書を許可すべきかどうか | Boolean |
browserConnectionEnabled | セッションがブラウザー接続を問い合わできるか | Boolean |
browserName | ブラウザ名 | String |
chrome | Chromeのバージョン、userDataDirの場所を返す | Dictionary |
cssSelectorsEnabled | 要素検索のcssSelector利用可否 | Boolean |
databaseEnabled | データベースの利用可否 | Boolean |
goog:chromeOptions | Chromeのオプション設定を返す | Dictionary |
handlesAlerts | セッションがポップアップと対話可否 | Boolean |
hasTouchScreen | タッチスクリーンの利用可否 | Boolean |
javascriptEnabled | javascriptの利用可否 | Boolean |
locationContextEnabled | ブラウザ位置環境の参照可否 | Boolean |
mobileEmulationEnabled | デスクトップ版Chromeからモバイル機器Chromeの利用可否 | Boolean |
nativeEvents | ブラウザのマウスとキーボード入力シミュレートの利用可否 | Boolean |
networkConnectionEnabled | リモートエンドの接続可否 | Boolean |
pageLoadStrategy | ページ読込み方法の取得(normal, eager, none) | String |
platform | ブラウザを操作するプラットフォーム名 | String |
proxy | プロキシサーバ情報 | Dictionary |
rotatable | 回転可能可否 | Boolean |
setWindowRect | ウィンドウの縦横サイズ設定可否 | Boolean |
strictFileInteractability | 厳密な相互作用チェックのinput type = file 要素への適用可否 | Boolean |
takesHeapSnapshot | メモリーリークを見つける為のヒープのスナップショット取得機能利用可否 | Boolean |
takesScreenshot | ブラウザ内でのスクリーンショット利用可否 | Boolean |
timeouts | 各種タイムアウト情報を返す | Dictionary |
unexpectedAlertBehaviour | 予期せぬアラートを無視するかどうか | String |
version | ブラウザのバージョン | String |
webStorageEnabled | ウェブストレージの利用可否 | Boolean |
webauthn:extension:credBlob | セキュリティキー(credBlob)拡張機能利用可否 | Boolean |
webauthn:extension:largeBlob | 資格情報に関連付けられた不透明なデータの保存可否 | Boolean |
webauthn:virtualAuthenticators | エンドポイントノードが全ての仮想認証コマンドをサポートするかどうか | Boolean |
※Short Exampleは、動作確認ができたコードを記載しています。
Example
Use_Capabilities
Private Sub Use_Capabilities()
Dim driver As New ChromeDriver
Dim Mng As Manage
Dim Cap As Dictionary
driver.Get "https://ja.wikipedia.org/wiki/"
Set Cap = driver.Manage.Capabilities
Cap.Add "hoge", "age"
Debug.Print Cap.ContainsKey("version")
Debug.Print Cap.Get("versio", "Not Exsist")
Cap.Set "hoge", "sage"
Debug.Print Cap.Item("hoge")
Debug.Print Cap.Item("chrome")("chromedriverVersion")
Debug.Print Cap.Count
'Cap.ToExcel
Dim Key, Item, i As Integer
Key = Cap.Keys
Item = Cap.Values
For i = 0 To Cap.Count - 1
Select Case Key(i)
Case "chrome"
Dim chrmDic As Dictionary
Set chrmDic = Item(i)
Debug.Print "chromedriverVersion: " & chrmDic.Item("chromedriverVersion")
Debug.Print "userDataDir: " & chrmDic.Item("userDataDir")
Case "goog:chromeOptions"
Dim optDic As Dictionary
Set optDic = Item(i)
Debug.Print "debuggerAddress: " & optDic.Item("debuggerAddress")
Case "proxy"
Dim prxDic As Dictionary
Set prxDic = Item(i)
Debug.Print "proxy count: " & prxDic.Count
Case "timeouts"
Dim timeoutDic As Dictionary
Set timeoutDic = Item(i)
Debug.Print "implicit: " & timeoutDic.Item("implicit")
Debug.Print "pageLoad: " & timeoutDic.Item("pageLoad")
Debug.Print "script: " & timeoutDic.Item("script")
Case Else
Debug.Print Key(i) & " : " & Item(i)
End Select
Next i
Cap.Clear
driver.Quit
End Sub