在 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 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告