《SeleniumBasic 3.141.0.0 - 在VBA中操作瀏覽器》系列文章之二十:利用ICapabilities查詢瀏覽器屬性


Capabilities類用於修改Web驅動程序的多個屬性。Desired capabilities類提供一組鍵值對key-value,用於更改web驅動程序的各個屬性,如瀏覽器名稱、瀏覽器平台等。

SeleniumBasic中執行如下程序:

Dim Caps As SeleniumBasic.ICapabilities
Set Caps = WD.Capabilities
Debug.Print Caps.ToString

立即窗口打印出一個JSON格式的字符串

{
  "acceptInsecureCerts": false,
  "browserName": "chrome",
  "browserVersion": "85.0.4183.102",
  "chrome": {
    "chromedriverVersion": "85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689})",
    "userDataDir": "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\scoped_dir4632_532329042"
  },
  "goog:chromeOptions": {
    "debuggerAddress": "localhost:49840"
  },
  "networkConnectionEnabled": false,
  "pageLoadStrategy": "normal",
  "platformName": "windows",
  "proxy": {},
  "setWindowRect": true,
  "strictFileInteractability": false,
  "timeouts": {
    "implicit": 0,
    "pageLoad": 300000,
    "script": 30000
  },
  "unhandledPromptBehavior": "dismiss and notify",
  "webauthn:virtualAuthenticators": true
}

可以看到包含browserName等鍵值對。

還可以直接抽取到其中某個信息,例如獲取browserVersion,瀏覽器的版本信息。

Dim s1 As String
s1 = Caps.GetCapability("browserVersion")
Debug.Print Caps.HasCapability("browserVersion")
Dim v As Variant
v = Caps.Item("browserVersion")
Debug.Print v

上述代碼,變量s1和v的結果都是85.0.4183.102

如果打開的是其他瀏覽器,信息也會相應的不同。例如啟動Firefox瀏覽器

WD.New_FirefoxDriver Service:=Service, Options:=Options
WD.URL = "https://www.baidu.com"
Debug.Print WD.Capabilities.ToString

出來的結果是:

{
  "acceptInsecureCerts": false,
  "browserName": "firefox",
  "browserVersion": "80.0.1",
  "moz:accessibilityChecks": false,
  "moz:buildID": "20200831163820",
  "moz:geckodriverVersion": "0.26.0",
  "moz:headless": false,
  "moz:processID": 4560,
  "moz:profile": "C:\\Users\\Administrator\\AppData\\Local\\Temp\\rust_mozprofilesdDqbl",
  "moz:shutdownTimeout": 60000,
  "moz:useNonSpecCompliantPointerOrigin": false,
  "moz:webdriverClick": true,
  "pageLoadStrategy": "normal",
  "platformName": "windows",
  "platformVersion": "10.0",
  "rotatable": false,
  "setWindowRect": true,
  "strictFileInteractability": false,
  "timeouts": {
    "implicit": 0,
    "pageLoad": 300000,
    "script": 30000
  },
  "unhandledPromptBehavior": "dismiss and notify"
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM