如何透過Selenium WebDriver以程式設計方式配置Chrome擴充套件程式?


我們可以透過Selenium webdriver以程式設計方式配置Chrome擴充套件程式。當我們手動開啟瀏覽器並使用它時,Chrome瀏覽器可以擁有多個擴充套件程式。

但是,當Chrome瀏覽器透過Selenium webdriver開啟時,本地瀏覽器可用的那些擴充套件程式將不存在。要配置擴充套件程式,我們必須獲得擴充套件程式的.crx擴充套件檔案。

然後,我們必須將該擴充套件程式新增到由Selenium webdriver啟動的瀏覽器中。要獲取瀏覽器可用的所有擴充套件程式,請輸入

chrome://extensions 在瀏覽器中。

例如,要新增Momentum擴充套件程式,請訪問連結:

https://chrome.google.com/webstore/category/extensions並在搜尋框中輸入Momentum。搜尋結果顯示後,點選相關選項。

點選**Momentum**擴充套件程式後,將顯示擴充套件程式的詳細資訊。複製下圖中突出顯示的擴充套件程式URL。

現在,導航到連結:https://chrome−extension−downloader.com/並將我們複製的URL貼上到**下載擴充套件程式**欄位中。

擴充套件程式的.crx檔案將下載到我們的系統中。然後,我們應該將其儲存到所需位置。

要將此擴充套件程式新增到Chrome瀏覽器(一旦由Selenium webdriver啟動),我們必須使用**ChromeOptions**類。我們將建立此類的物件,並在其上應用**addExtensions**方法。

要新增的擴充套件程式的.crx檔案的路徑作為引數傳遞給該方法。然後使用**DesiredCapabilities**類來設定此瀏覽器功能。

我們將在DesiredCapabilities的物件上應用**setCapability**方法,並將**ChromeOptions.CAPABILITY**和**ChromeOptions**類的物件作為引數傳遞給該方法。最後,DesiredCapabilities的物件作為引數傳遞給webdriver物件。

示例

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 AddExtensns{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",
      "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      //ChromeOptions object
      ChromeOptions opt= new ChromeOptions();
      //set path of .crx file of extension
      opt.addExtensions(new File("C:\Users\Momentum_v0.92.2.crx"));
      //DesiredCapabilities object
      DesiredCapabilities c = DesiredCapabilities.chrome();
      // set ChromeOptions capability
      c.setCapability(ChromeOptions.CAPABILITY, opt);
      // pass capability to driver
      WebDriver driver = new ChromeDriver(c);
      driver.get("https://tutorialspoint.tw/index.htm");
   }
}

更新於:2021年2月2日

4K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告