我有这个:
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)
不推荐使用。
你快到了 您需要使用的方法merge()
从MutableCapabilities类的合并DesiredCapabilities类型的对象为FirefoxOptions类型的对象和启动的webdriver和Web客户端通过传递实例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] 删除。
我来说两句