在 Chrome 瀏覽器中使用 Selenium WebDriver 載入擴充套件程式是否有辦法?


我們可以使用 Selenium webdriver 在 Chrome 瀏覽器中載入擴充套件程式。

當我們在本地系統中使用 Chrome 瀏覽器時,可以向其中新增多個擴充套件程式。

但是,當 Chrome 瀏覽器由 Selenium webdriver 啟動時,本地瀏覽器可用的擴充套件程式可能不存在。我們必須藉助擴充套件程式的 .crx 檔案顯式新增它們。

例如,要新增 Momentum 擴充套件程式,請訪問以下連結:https://chrome.google.com/webstore/category/extensions。

在搜尋框中輸入 Momentum 並按 Enter 鍵。從搜尋結果中選擇正確的選項。

導航到下一頁後,我們將獲得此擴充套件程式的詳細資訊。我們需要複製此頁面的 URL。

訪問以下連結:https://chrome-extension-downloader.com/

將我們複製的 URL(在前面的步驟中)貼上到“下載擴充套件程式”按鈕左側的編輯框中。然後單擊“下載擴充套件程式”。

系統應該會下載一個 .crx 檔案(Momentum 擴充套件程式)。現在,要將此擴充套件程式新增到 Selenium 啟動的 Chrome 瀏覽器中,我們必須使用 ChromeOptions 類並建立其例項。

然後,我們必須在其上應用 addExtensions 方法。我們將下載的 .crx 檔案的路徑作為引數傳遞給此方法。最後,我們必須使用 DesiredCapabilities 類並使用 setCapability 方法配置 Chrome 瀏覽器的功能。

示例

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.Capabilities;
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.io.File;
public class ChromBrwExt{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",
         "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      //ChromeOptions object
      ChromeOptions o= new ChromeOptions();
      //configure path of .crx file
      o.addExtensions
      (new File("C:\Users\Ext\Momentum_v0.92.2.crx"));
      //DesiredCapabilities object
      DesiredCapabilities cp = DesiredCapabilities.chrome();
      // set browser capability
      cp.setCapability(ChromeOptions.CAPABILITY, o);
      // add capability to driver
      WebDriver driver = new ChromeDriver(cp);
      //URL launch
      driver.get("https://www.google.com/");
      //browser close
      driver.close();
   }
}

更新於: 2021 年 4 月 8 日

752 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告