如何使用 selenium 在 Java 中的 firefox 驱动程序中添加扩展
How to add extension in firefox driver in Java using selenium
如何在 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 驱动程序,它也工作正常,但是 chrome驱动程序在无头模式下没有扩展支持,因此需要使用 firefox webdriver。
我已经尝试了所有已经给出的解决方案,但其中 none 有效
所以请指导我该怎么做。
尝试使用 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);
如何在 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 驱动程序,它也工作正常,但是 chrome驱动程序在无头模式下没有扩展支持,因此需要使用 firefox webdriver。
我已经尝试了所有已经给出的解决方案,但其中 none 有效
所以请指导我该怎么做。
尝试使用 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);