SeleniumBasic ManageClass ブラウザ情報の取得

リファレンス

概要

ブラウザ情報管理用クラスを解説します。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
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
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

VBAを中心とした自動化、効率化の手法を紹介しています。現在は、SeleniumBasicのexamplesを紹介しています。その内、SeleniumBasic以外の手法も掲載したいと思っております。