概要
ブラウザ情報管理用クラスを解説します。Cookie情報やブラウザバージョン等の情報を取得できます。
オブジェクト設定
・変数宣言
Dim Mng As Manage
・親クラス:WebDriver
文法
Set Mng = driver.Manage
Mng.[メソッド]
メソッド・プロパティ
メソッド
スクロールできます
Name | 解説 | ShortExample |
---|---|---|
AddCookie | 現在ページにCookieを追加 | Mng.AddCookie "hoge", "hogehoge" |
DeleteAllCookies | 現在ページのCookieを全て削除 | Mng.DeleteAllCookies |
DeleteCookieByName | 指定した名前でCookieを削除 | Mng.DeleteCookieByName "WMF-Last-Access-Global" |
FindCookieByName | 指定した名前でCookieを取得 | Set cookie = Mng.FindCookieByName("WMF-Last-Access-Global") |
Location | 現在の位置情報を取得 | Mng.Location |
SetLocation | 現在の位置情報を設定 | Mng.SetLocation "16.43", "151.75", "3" |
※Short Exampleは、動作確認ができたコードを記載しています。
プロパティ
スクロールできます
Name | 解説 | ShortExample |
---|---|---|
Capabilities | ブラウザ設定情報の取得 | Mng.Capabilities.Item("platform") |
Cookies | 現在ページのCookies集合を取得 | For Each cookie In Mng.Cookies |
StorageLocal | ローカルストレージ情報を取得 | Mng.StorageLocal.Count |
StorageSession | セッションストレージ情報を取得 | Mng.StorageSession.Count |
※Short Exampleは、動作確認ができたコードを記載しています。
Example
Use_Manage
Private Sub Use_Manage()
Dim driver As New ChromeDriver
Dim Mng As Manage
driver.Get "https://ja.wikipedia.org/wiki/"
Set Mng = driver.Manage
Debug.Print Mng.Capabilities.Item("platform")
Debug.Print Mng.Capabilities.Item("browserName")
Debug.Print Mng.Capabilities.Item("version")
Debug.Print Mng.StorageLocal.Count
Debug.Print Mng.StorageSession.Count
driver.Quit
End Sub
Use_Manage_Location
Private Sub Use_Manage_Location()
Dim driver As New ChromeDriver
Dim Mng As Manage
Dim Dic As New Dictionary
driver.Get "https://ja.wikipedia.org/wiki/"
Set Mng = driver.Manage
Mng.SetLocation "16.43", "151.75", "3"
Set Dic = Mng.Location
Debug.Print "緯度: " & Dic.Item("latitude")
Debug.Print "経度: " & Dic.Item("longitude")
Debug.Print "高度: " & Dic.Item("altitude")
driver.Quit
End Sub
Use_Cookie
Private Sub Use_Cookie()
Dim Assert As New Selenium.Assert
Dim driver As New ChromeDriver
Dim Mng As Manage
driver.Get "https://ja.wikipedia.org/wiki/"
driver.Wait 2000
'cookie名でcookieオブジェクトを取得
Dim Cookie As Cookie
Set Mng = driver.Manage
Set Cookie = Mng.FindCookieByName("WMF-Last-Access-Global")
Assert.Equals ".wikipedia.org", Cookie.Domain
'cookieの登録
Mng.AddCookie "hoge", "hogehoge"
'取得ページの全cookie情報を取得
Dim maxrow As Long, Cookies As Cookies
Set Cookies = Mng.Cookies
With ThisWorkbook.Worksheets("Cookie")
For Each Cookie In Mng.Cookies
maxrow = .Cells(Rows.Count, 1).End(xlUp).row
.Cells(maxrow + 1, 1) = Cookie.Name
.Cells(maxrow + 1, 2) = Cookie.Value
.Cells(maxrow + 1, 3) = Cookie.Domain
.Cells(maxrow + 1, 4) = Cookie.Path
.Cells(maxrow + 1, 5) = Cookie.Secure
.Cells(maxrow + 1, 6) = Cookie.Expiry
Next Cookie
End With
'cookie情報の削除
Debug.Print Mng.Cookies.Count
Cookies.Item(2).Delete
Mng.DeleteCookieByName "WMF-Last-Access-Global"
Debug.Print Mng.Cookies.Count
Mng.DeleteAllCookies
driver.Quit
End Sub
SeleniumBasicでCookieの利用 usage_cookies
usage_cookieでは、SeleniumBasicで起動したブラウザのCookie情報の取得や登録、削除ができます。Cookie情報をスクレイピングで収集したい時には役立つかと思います。...