我正在尝试在Firefox上设置一些功能。 我看到使用firefox对象和DesiredCapabilities对象,我们可以做同样的事情。两者之间有什么区别,以及如何选择使用哪一个。我们可以对两个对象调用相同的setCapability()方法。
设置成功运行的功能。但是我对选项和DesiredCapabilities感到困惑。两者之间有什么区别和关系。
FirefoxOptions options = new FirefoxOptions();
options.setCapability();
DesiredCapabilities desiredCap = DesiredCapabilities.firefox();
desiredCap.setCapability();
答案 0 :(得分:2)
DesiredCapabilities是旧的处理方式,目前已弃用。 “选项”模式是一种新的处理方式,它已作为将API迁移到新的W3C兼容API的工作的一部分而包含在Selenium中。
/**
* @deprecated Use {@link #FirefoxDriver(FirefoxOptions)}.
*/
@Deprecated
public FirefoxDriver(Capabilities desiredCapabilities) {
this(new FirefoxOptions(Objects.requireNonNull(desiredCapabilities, "No capabilities seen")));
}
链接到上面的代码on Github
在Selenium 4中,应该删除所有已过时的方法 (当然,实际上,可能不会立即将其全部删除),所以我建议您继续使用FirefoxOptions而不是DesiredCapabilities。