如何通过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.com/index.htm");
   }
}

更新于:2021年2月2日

4K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告