1

如何在 Java 中的 selenium 中的 firefox 驱动程序中添加扩展

尝试了以下可能性。

第一次尝试解决方案

FirefoxOptions firefoxOptions = new FirefoxOptions();
FirefoxProfile profile = new FirefoxProfile();
profile.addExtension(new File("/usr/local/bin/foxyproxy_standard-6.6.2-an+fx.xpi"));
profile.setPreference("extensions.firebug.currentVersion", "1.8.1");
firefoxOptions.setProfile(profile);
WebDriver firefoxDriver = new FirefoxDriver(firefoxOptions);

它没有给出任何错误,但它开始时没有任何扩展。

使用依赖

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>3.12.0</version>
    </dependency>
    <dependency>
      <groupId>io.github.bonigarcia</groupId>
      <artifactId>webdrivermanager</artifactId>
      <version>3.2.0</version>
    </dependency>

第二次尝试解决方案

FirefoxProfile profile = new FirefoxProfile();
profile.addExtension(new File("/usr/local/bin/foxyproxy_standard-6.6.2-an+fx.xpi"));
profile.setPreference("extensions.firebug.currentVersion", "1.8.1");
WebDriver firefoxDriver = new FirefoxDriver(profile);

它也没有给出任何错误,但它开始时没有任何扩展。

使用依赖

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>3.0.0-beta4</version>
    </dependency>
    <dependency>
      <groupId>io.github.bonigarcia</groupId>
      <artifactId>webdrivermanager</artifactId>
      <version>3.2.0</version>
    </dependency>

第三次尝试解决方案

从 firefox 手动创建配置文件。1. 打开默认的 firefox 2. about:prfiles 3. 创建新配置文件为“TestProfile” 4. 在新浏览器中启动配置文件 5. 添加一些附加组件 6. 关闭浏览器 7. 然后执行以下代码。

    ProfilesIni profilesIni = new ProfilesIni();
    FirefoxOptions firefoxOptions = new FirefoxOptions();
    FirefoxProfile profile = profilesIni.getProfile("TestProfile");
    firefoxOptions.setProfile(profile);
    WebDriver firefoxDriver = new FirefoxDriver(firefoxOptions);

这也行不通

我已经尝试过使用 chrome 驱动程序,它也可以正常工作,但是 chromedriver 在无头模式下没有扩展支持,因此需要使用 firefox webdriver。

我已经尝试了所有解决方案,但没有一个有效

所以请指导我该怎么做。

4

1 回答 1

2

尝试使用 FF68,selenium-java 4.0.0-alpha-2 和 v0.24.0 。在 Windows 机器上测试。

FirefoxProfile profile = new FirefoxProfile();

profile.addExtension(new File("foxyproxy_basic-5.5-an+fx.xpi"));

options.setProfile(profile);
于 2019-08-22T15:03:14.670 回答