首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Selenium WebDriver 實戰入門:Chrome/PhantomJS 驅動配置、參數優化與多窗口切換

     編輯:Java 綜合教學

Selenium WebDriver 實戰入門:Chrome/PhantomJS 驅動配置、參數優化與多窗口切換

Selenium 2.52+ 穩定性顯著提升。本文以 Java 為例,涵蓋 ChromeDriver/PhantomJS 環境配置、啟動參數調優、無頭模式、多窗口句柄切換、元素定位與資源清理完整實戰指南。

環境準備

  1. Maven 依賴:selenium-java:2.52.0(或更新版)。
  2. ChromeDriver 下載:官網,**版本必須匹配 Chrome 瀏覽器大版本**(如 Chrome 46~50 對應 Driver 2.21)。
  3. PhantomJS:下載,解壓 `phantomjs.exe` 到項目目錄。

ChromeDriver 啟動與參數配置

// 指定驅動路徑
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "\\driver\\chromedriver.exe");

// 基礎啟動
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com/");

// 進階 ChromeOptions
ChromeOptions options = new ChromeOptions();
// 緩存目錄隔離
options.addArguments("--disk-cache-dir=" + System.getProperty("user.dir") + "\\cache");
// 常用啟動參數
options.addArguments("--start-maximized");           // 最大化
options.addArguments("--window-size=1920,1080");     // 固定尺寸
options.addArguments("--disable-extensions");        // 禁用擴展
options.addArguments("--disable-translate");         // 禁用翻譯
options.addArguments("--ignore-certificate-errors"); // 忽略證書錯誤
options.addArguments("--headless");                  // 無頭模式 (Chrome 59+)
options.addArguments("--no-sandbox");                // CI 環境必需
options.addArguments("--disable-dev-shm-usage");     // 解決 Docker 共享內存不足

WebDriver driver = new ChromeDriver(options);

PhantomJS 啟動(無頭、無界面)

System.setProperty("phantomjs.binary.path", System.getProperty("user.dir") + "\\driver\\phantomjs.exe");
WebDriver driver = new PhantomJSDriver();
driver.get("https://www.google.com/");

注意:PhantomJS 已停止維護,建議改用 **Chrome/Firefox Headless 模式**。

元素定位與資源提取


多窗口/標籤頁切換

3. 返回主文檔:`driver.switchTo().defaultContent()`。
4. 返回父 iframe:`driver.switchTo().parentFrame()`。
下篇將詳細講解動態 iframe 定位、跨域限制處理、等待策略。

資源清理

Selenium Java API 文檔

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved