ChromeDriver - Chrome 網絡驅動程序

功能 & ChromeOptions

功能是可用於自定義和配置 ChromeDriver 會話的選項。本頁記錄所有 ChromeDriver 支持的功能以及如何使用它們。

WebDriver 語言 API 提供了將功能傳遞給 ChromeDriver 的方法。確切的機制因語言而異,但大多數語言使用以下一種或兩種機制:
使用類。這得到 Java、Python 等的支持。ChromeOptions
使用類。Python、Ruby 等支持此功能。雖然它在 Java 中也可用,但它在 Java 中的用法被棄用。DesiredCapabilities

使用 Chrome 選項類

您可以創建 的實例,該實例具有設置 ChromeDriver 特定功能的便捷方法。然後,您可以將對象傳遞到 ChromeDriver 構造函數:ChromeOptionsChromeOptions

ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
ChromeDriver driver = new ChromeDriver(options);

由於 Selenium 版本 3.6.0,Java 中的類也實現了該接口,允許您指定其他非 ChromeDriver 特有的 Web 驅動程序功能。ChromeOptionsCapabilities

ChromeOptions options = new ChromeOptions();
// Add the WebDriver proxy capability.
Proxy proxy = new Proxy();
proxy.setHttpProxy("myhttpproxy:3337");
options.setCapability("proxy", proxy);

// Add a ChromeDriver-specific capability.
options.addExtensions(new File("/path/to/extension.crx"));
ChromeDriver driver = new ChromeDriver(options);

使用所需功能

要使用所需功能,您需要知道功能的名稱及其所需的值類型。請參閱下面的完整列表。

Ruby
caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => [ "--disable-web-security" ]})
driver = Selenium::WebDriver.for :remote, url: 'http://localhost:4444/wd/hub' desired_capabilities: caps

常見用例

使用自定義配置文件(也稱爲用戶數據目錄)

默認情況下,ChromeDriver 會爲每個會話創建新的臨時配置文件。有時您可能需要設置特殊首選項或完全使用自定義配置文件。如果是前者,您可以使用"chrome.prefs"功能(下文所述)來指定在 Chrome 啓動後將應用的首選項。如果是後者,您可以使用 Chrome 命令行開關告訴 Chrome 使用哪個配置文件:user-data-dir

ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=/path/to/your/custom/profile");

只需將交換機設置爲某個新目錄即可運行 Chrome(在命令行上或通過 ChromeDriver),即可創建自己的自定義配置文件。如果路徑不存在,Chrome 將在指定位置創建新配置文件。然後,您可以根據需要修改配置文件設置,ChromeDriver 以後可以使用配置文件。打開瀏覽器中的chrome://version以查看 Chrome 正在使用哪些配置文件。user-data-dir

開始 Chrome 最大化
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
在非標準位置使用 Chrome 可執行文件
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");
設置 Chrome 首選項
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("profile.default_content_settings.popups", 0);
options.setExperimentalOption("prefs", prefs);

已識別功能列表

這是 ChromeDriver 支持的所有 Web 驅動程序標準功能的列表:

Proxy對象

請參閱http://code.google.com/p/selenium/wiki/DesiredCapabilities#Proxy_JSON_Object

loggingPrefs對象

請參閱https://code.google.com/p/selenium/wiki/DesiredCapabilities#JSON_object

chromedriver選項對象

這是所有 Chrome 特定所需功能的列表,這些功能都位於Chrome 選項詞典下。
如果可能,請使用ChromeOptions類,而不是直接指定這些課程。

名字 類型 默認 描述
args 字符串列表 啓動 Chrome 時要使用的命令行參數的列表。具有關聯值的參數應用"+"符號分隔(例如,[啓動-最大化’,“用戶-數據-dir_/tmp/temp_profile”*)。有關 Chrome 參數的列表,請參閱此處。
binary 字符串 Chrome 可執行文件的路徑(在 Mac OS X 上,這應該是實際的二進制文件,而不僅僅是應用程序,例如,’/應用程序/Google Chrome.app/內容/MacOS/谷歌 Chrome’)
extensions 字符串列表 啓動時要安裝的 Chrome 擴展程序列表。列表中的每個項目應爲基本-64編碼包裝的 Chrome 擴展機 (.crx)
localState 字典 包含每個條目的字典,由首選項的名稱及其值組成。這些首選項將應用於用戶數據文件夾中的本地狀態文件。
prefs 字典 包含每個條目的字典,由首選項的名稱及其值組成。這些首選項僅應用於正在使用的用戶配置文件。有關示例,請參閱 Chrome 用戶數據目錄中的"首選項"文件。
detach 布爾 如果爲 false,則 Chrome 將在 ChromeDriver 終止時退出,無論會話是否退出。如果爲 true,則僅當會話退出(或關閉)時,Chrome 纔會退出。請注意,如果爲 true,並且會話未退出,ChromeDriver 將無法清理正在運行的 Chrome 實例正在使用的臨時用戶數據目錄。
debuggerAddress 字符串 以 <主機名/ip:port>形式連接到的 Chrome 調試器服務器的地址,例如"127.0.0.0.1:38947"
excludeSwitches 字符串列表 Chrome 命令行列表將切換以排除默認情況下在啓動 Chrome 時通過的 ChromeDriver。不要用–.前綴開關
minidumpPath 字符串 目錄存儲 Chrome 迷你轉儲 。(僅在 Linux 上支持。
mobileEmulation 字典 具有"設備名稱"值或"設備指標"和"用戶代理"值的字典。有關詳細信息,請參閱移動仿真。
perfLoggingPrefs 字典 指定性能日誌記錄首選項的可選字典。有關詳細信息,請參閱下文。
窗口類型 字符串列表 窗口句柄列表中將顯示的窗口類型的列表。要訪問 元素,請在此列表中包括"Webview"。

perfLoggingPrefs對象

perf、C、S.Prefs 字典具有以下格式(所有鍵都是可選的):

名字 類型 默認 描述
enableNetwork 布爾 是否從網絡域收集事件。
enablePage 布爾 是否從主頁域收集事件。
traceCategories 字符串 (空) 應爲其收集跟蹤事件的由逗號分隔的 Chrome 跟蹤類別字符串。未指定或空字符串禁用跟蹤。
bufferUsageReportingInterval 正整數 1000 DevTools 跟蹤緩衝區使用事件之間的請求毫秒數。例如,如果爲 1000,然後每秒一次,DevTools 將報告跟蹤緩衝區的已滿程度。如果報告指示緩衝區使用率爲 100%,則會發出警告。

返回的功能

這是所有特定於 Chrome 的返回功能的列表。(即,當您創建新會話時,ChromeDriver 返回什麼)

名字 類型 描述
chrome.chromedriverVersion 字符串 鉻驅動器版本
userDataDir 字符串 Chrome 正在使用的用戶數據目錄的路徑;注意,這是一個"鉻"字典內

ChromeDriver 服務器命令行參數

運行chromedriver – 幫助查看版本的命令行參數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章