如何通过Java使用Selenium将功能和选项传递给Firefoxdriver

汇编器:

我有这个:

System.setProperty("webdriver.gecko.driver", "gecko/linux/geckodriver");

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.no_proxies_on", "localhost");
profile.setPreference("javascript.enabled", true);

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
capabilities.setCapability(FirefoxDriver.PROFILE, profile);

FirefoxOptions options = new FirefoxOptions();
options.setLogLevel(Level.FINEST);
options.addPreference("browser.link.open_newwindow", 3);
options.addPreference("browser.link.open_newwindow.restriction", 0);

现在,我有两个不同的构造函数:

WebDriver driver = new FirefoxDriver(capabilities);

WebDriver driver = new FirefoxDriver(options);

如何将它们(功能和选项)都传递给driver顺便说一句,IDE告诉我FirefoxDriver(capabilities)不推荐使用。

DebanjanB:

你快到了 您需要使用的方法merge()MutableCapabilities类的合并DesiredCapabilities类型的对象为FirefoxOptions类型的对象和启动的webdriverWeb客户端通过传递实例FirefoxOptions对象,如下所示:

System.setProperty("webdriver.gecko.driver", "gecko/linux/geckodriver");

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.no_proxies_on", "localhost");
profile.setPreference("javascript.enabled", true);

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
capabilities.setCapability(FirefoxDriver.PROFILE, profile);

FirefoxOptions options = new FirefoxOptions();
options.merge(capabilities);
options.setLogLevel(Level.FINEST);
options.addPreference("browser.link.open_newwindow", 3);
options.addPreference("browser.link.open_newwindow.restriction", 0);

WebDriver driver = new FirefoxDriver(options);

参考文献

您可以在以下位置找到一些相关的讨论:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Selenium / Java,当FireFoxDriver已经包含其他一些参数时,如何将所需的功能传递给FireFoxDriver?

如何通过Chrome选项将osVersion功能传递给Browserstack

如何使用<compilerarg value =“”>通过<javac> Ant任务将命令行选项传递给Java编译器?

如何在Selenium IDE中使用FirefoxDriver通过“选项”使用setExperimentalOption?

如何通过JSON将动态选项(function())传递给Highcharts?

如何将主机和端口参数传递给ant以供Java主要功能使用

通过 Web 端点触发时如何将输入传递给 Java Selenium 测试?

如何使用“ -c”选项将参数传递给EXPECT?

如何使用plenv或perlbrew将编译选项传递给perl

如何使用dart:js将选项传递给javascript函数?

如何使用 Kotlin DSL 将选项传递给 JavaPluginExtension

如何在Selenium中使用FirefoxDriver通过Options使用setExperimentalOption?

通过引用将指针传递给函数时如何使用与号和星号

如何使用ctypes和通过ctypeslib.ndpointer声明的参数将null传递给外部库?

如何使用xargs和sed将结果通过管道传递给数组?

install4J,如何通过Java首选项存储正确将`updatesUrl`传递给更新程序?

如何使用按钮将参数传递给功能

如何使用EventEmitter将功能传递给子组件?

如何通过ref将List从Java传递给JNI C ++?

将 java 选项传递给 libjvm

JS:如何将URL通过重定向功能传递给登录功能

如何使用[ngstyle]通过传递对象将网格行和网格列动态传递到角度div选项卡

将功能属性传递给子组件(通过链接和路由组件)

如何将功能传递给组件?

将所选选项传递给控制器功能

将离子选择选项传递给功能-离子4

如何在Windows命令行上通过html-minifier将选项传递给UglifyJS?

如何通过pom.xml将Maven“ --also-make”选项传递给命令行

如何使用无服务器功能和 axios 将开放的天气 API 数据传递给 React 前端