
- Selenium 教程
- Selenium - 首頁
- Selenium - 概述
- Selenium - 元件
- Selenium - 自動化測試
- Selenium - 環境設定
- Selenium - 遠端控制
- Selenium IDE 教程
- Selenium - IDE 簡介
- Selenium - 功能
- Selenium - 限制
- Selenium - 安裝
- Selenium - 建立測試
- Selenium - 建立指令碼
- Selenium - 控制流
- Selenium - 儲存變數
- Selenium - 警報和彈出視窗
- Selenium - Selenese 命令
- Selenium - Actions 命令
- Selenium - Accessors 命令
- Selenium - Assertions 命令
- Selenium - Assert/Verify 方法
- Selenium - 定位策略
- Selenium - 指令碼除錯
- Selenium - 驗證點
- Selenium - 模式匹配
- Selenium - JSON 資料檔案
- Selenium - 瀏覽器執行
- Selenium - 使用者擴充套件
- Selenium - 程式碼匯出
- Selenium - 程式碼輸出
- Selenium - JavaScript 函式
- Selenium - 外掛
- Selenium WebDriver 教程
- Selenium - 簡介
- Selenium WebDriver vs RC
- Selenium - 安裝
- Selenium - 第一個測試指令碼
- Selenium - 驅動程式會話
- Selenium - 瀏覽器選項
- Selenium - Chrome 選項
- Selenium - Edge 選項
- Selenium - Firefox 選項
- Selenium - Safari 選項
- Selenium - 雙擊
- Selenium - 右擊
- Python 中的 HTML 報告
- 處理編輯框
- Selenium - 單個元素
- Selenium - 多個元素
- Selenium Web 元素
- Selenium - 檔案上傳
- Selenium - 定位器策略
- Selenium - 相對定位器
- Selenium - 查詢器
- Selenium - 查詢所有連結
- Selenium - 使用者互動
- Selenium - WebElement 命令
- Selenium - 瀏覽器互動
- Selenium - 瀏覽器命令
- Selenium - 瀏覽器導航
- Selenium - 警報和彈出視窗
- Selenium - 處理表單
- Selenium - 視窗和標籤頁
- Selenium - 處理連結
- Selenium - 輸入框
- Selenium - 單選按鈕
- Selenium - 複選框
- Selenium - 下拉框
- Selenium - 處理IFrames
- Selenium - 處理 Cookie
- Selenium - 日期時間選擇器
- Selenium - 動態 Web 表格
- Selenium - Actions 類
- Selenium - Action 類
- Selenium - 鍵盤事件
- Selenium - 鍵上/下
- Selenium - 複製和貼上
- Selenium - 處理特殊鍵
- Selenium - 滑鼠事件
- Selenium - 拖放
- Selenium - 筆事件
- Selenium - 滾動操作
- Selenium - 等待策略
- Selenium - 顯式/隱式等待
- Selenium - 支援功能
- Selenium - 多選
- Selenium - 等待支援
- Selenium - 選擇支援
- Selenium - 顏色支援
- Selenium - ThreadGuard
- Selenium - 錯誤和日誌記錄
- Selenium - 異常處理
- Selenium - 其他
- Selenium - 處理 Ajax 呼叫
- Selenium - JSON 資料檔案
- Selenium - CSV 資料檔案
- Selenium - Excel 資料檔案
- Selenium - 跨瀏覽器測試
- Selenium - 多瀏覽器測試
- Selenium - 多視窗測試
- Selenium - JavaScript 執行器
- Selenium - 無頭執行
- Selenium - 捕獲螢幕截圖
- Selenium - 捕獲影片
- Selenium - 頁面物件模型
- Selenium - 頁面工廠
- Selenium - 記錄和回放
- Selenium - 框架
- Selenium - 瀏覽上下文
- Selenium - DevTools
- Selenium Grid 教程
- Selenium - 概述
- Selenium - 架構
- Selenium - 元件
- Selenium - 配置
- Selenium - 建立測試指令碼
- Selenium - 測試執行
- Selenium - 端點
- Selenium - 自定義節點
- Selenium 報告工具
- Selenium - 報告工具
- Selenium - TestNG
- Selenium - JUnit
- Selenium - Allure
- Selenium & 其他技術
- Selenium - Java 教程
- Selenium - Python 教程
- Selenium - C# 教程
- Selenium - Javascript 教程
- Selenium - Kotlin 教程
- Selenium - Ruby 教程
- Selenium - Maven & Jenkins
- Selenium - 資料庫測試
- Selenium - LogExpert 日誌記錄
- Selenium - Log4j 日誌記錄
- Selenium - Robot Framework
- Selenium - AutoIT
- Selenium - Flash 測試
- Selenium - Apache Ant
- Selenium - Github 教程
- Selenium - SoapUI
- Selenium - Cucumber
- Selenium - IntelliJ
- Selenium - XPath
- Selenium 其他概念
- Selenium - IE 驅動程式
- Selenium - 自動化框架
- Selenium - 關鍵字驅動框架
- Selenium - 資料驅動框架
- Selenium - 混合驅動框架
- Selenium - SSL 證書錯誤
- Selenium - 替代方案
- Selenium 有用資源
- Selenium - 問答
- Selenium - 快速指南
- Selenium - 有用資源
- Selenium - 自動化實踐
- Selenium - 討論
Selenium WebDriver - Chrome 選項
ChromeOptions 是 Selenium WebDriver 中的一個特定類,用於處理僅適用於 Chrome 驅動的選項。它有助於在 Chrome 上執行自動化測試時修改瀏覽器的設定和功能。ChromeOptions 類擴充套件了另一個稱為 MutableCapabilities 的類。
ChromeOptions 類從 Selenium 3.6 版本開始新增。Selenium WebDriver 預設情況下以全新的瀏覽器配置檔案開始,沒有任何預定義的 Cookie、歷史記錄等設定。
使用 ChromeOptions 新增 Chrome 擴充套件程式
讓我們來看一個例子,我們將使用 Selenium IDE 擴充套件程式開啟 Chrome 瀏覽器。Chrome 擴充套件程式應該具有 .crx 檔案。在本例中,我們將獲取 Selenium IDE Chrome 擴充套件程式的 .crx 檔案,並將其放置在測試專案中的 Resources 資料夾下。

示例
package org.example; import org.openqa.selenium.*; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import java.io.File; import java.util.concurrent.TimeUnit; public class ChromeOptnsExtension { public static void main(String[] args) throws InterruptedException { // object of ChromeOptions ChromeOptions opt = new ChromeOptions(); // adding .crx extension opt.addExtensions(new File("./Resources/SeleniumIDE.crx")); // Initiate the Webdriver WebDriver driver = new ChromeDriver(opt); // adding implicit wait of 15 secs driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); // Opening the webpage with Selenium IDE extension driver.get("https://tutorialspoint.tw/selenium/practice/register.php"); } }
輸出
Process finished with exit code 0

Chrome 瀏覽器已開啟 Selenium IDE 擴充套件程式,並顯示資訊欄 **Chrome is being controlled by automated test software**。
使用 ChromeOptions 停用資訊欄
在前面的示例中,我們獲得了一個包含文字 **Chrome is being controlled by automated test software** 的資訊欄,但是我們可以使用 ChromeOptions 類停用此資訊欄。
示例
package org.example; import org.openqa.selenium.*; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import java.io.File; import java.util.Collections; import java.util.concurrent.TimeUnit; public class ChromeOptns { public static void main(String[] args) throws InterruptedException { // object of ChromeOptions ChromeOptions opt = new ChromeOptions(); // adding .crx extensions opt.addExtensions(new File("./Resources/SeleniumIDE.crx")); // disable information bar opt.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation")); // Initiate the Webdriver WebDriver driver = new ChromeDriver(opt); // adding implicit wait of 15 secs driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); // Opening the webpage with disabling information bar driver.get("https://tutorialspoint.tw/selenium/practice/register.php"); } }
輸出
Process finished with exit code 0

Chrome 瀏覽器已啟動 Selenium IDE 擴充套件程式,沒有資訊欄。
使用 ChromeOptions 開啟最大化瀏覽器
在本例中,我們將以最大化模式在 Chrome 瀏覽器中開啟並啟動應用程式。
示例
package org.example; import org.openqa.selenium.*; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import java.io.File; import java.util.Collections; import java.util.concurrent.TimeUnit; public class ChromeOptnsMaximized { public static void main(String[] args) throws InterruptedException { // object of ChromeOptions ChromeOptions opt = new ChromeOptions(); // adding .crx extensions opt.addExtensions(new File("./Resources/SeleniumIDE.crx")); // disable information bar opt.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation")); // open browser in maximized opt.addArguments("--start-maximized"); // Initiate the Webdriver WebDriver driver = new ChromeDriver(opt); // adding implicit wait of 15 secs driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); // Opening the webpage with Selenium IDE extension driver.get("https://tutorialspoint.tw/selenium/practice/register.php"); // quitting browser driver.quit(); } }
輸出
Process finished with exit code 0
在上面的示例中,我們觀察到 Chrome 瀏覽器已啟動 Selenium IDE 擴充套件程式,在最大化瀏覽器中沒有資訊欄 **Chrome is being controlled by automated test software**。
使用 ChromeOptions 處理 SSL 證書
要在 Chrome 中處理 SSL 證書,可以使用 ChromeOptions 類和 DesiredCapabilities 類。要使 DesiredCapabilities 的功能可用於 ChromeOptions,可以使用 merge 方法。
示例
package org.example; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import java.util.concurrent.TimeUnit; public class SSLErrorInChrome { public static void main(String[] args) throws InterruptedException { // Desired Capabilities class to profile Chrome DesiredCapabilities dc = new DesiredCapabilities(); dc.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true); // Chrome Options class ChromeOptions opt = new ChromeOptions(); // merging browser capabilities with options opt.merge(dc); // Initiate the Webdriver with options WebDriver driver = new ChromeDriver(opt); // adding implicit wait of 12 secs driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS); // launch application driver.get("https://expired.badssl.com"); // obtain browser title System.out.println("Browser title in Chrome: " + driver.getTitle()); // quit the browser driver.quit(); } }
輸出
Browser title in Chrome: Privacy error
結論
本教程全面介紹了 Selenium WebDriver Chrome 選項。我們首先描述了 ChromeOptions 類,然後逐步講解了如何向 Chrome 瀏覽器新增擴充套件程式、如何停用資訊欄、如何最大化瀏覽器以及如何在 Selenium WebDriver 和 ChromeOptions 的幫助下處理 SSL 證書錯誤。這使您能夠深入瞭解 Selenium WebDriver 中的 ChromeOptions 類。明智的做法是繼續練習您所學的內容,並探索與 Selenium 相關的其他內容,以加深您的理解並拓寬您的視野。