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

How can I use setExperimentalOption through Options using FirefoxDriver in Selenium IDE?

ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("useAutomationExtension", false);
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));

我想使用 Selenium IDE 登录 Google,但 Google 不允许自动化框架登录。但是,通过使用上述选项,可以登录 Google.

以上选项是为 ChromeDriver 定义的,我需要为 FirefoxDriver 定义它们。我该怎么做?

开始日新月异 and are evolving out to be more robust and compliant to the WebDriver Level 2 W3C规格。

不过,通过ChromeOptions and FirefoxOptions支持的方法还是有点不同。

FirefoxOptions()

支持的方法
  • addArguments(addArguments(java.lang.String... arguments)
  • addPreference(java.lang.String key, java.lang.String value)
  • merge(Capabilities capabilities)
  • setCapability(java.lang.String key, java.lang.Object value)
  • setHeadless(boolean headless)
  • setLegacy(boolean legacy)
  • setLogLevel(FirefoxDriverLogLevel logLevel)
  • setPageLoadStrategy(PageLoadStrategy strategy)
  • setProfile(FirefoxProfile profile)
  • setProxy(Proxy proxy)
  • setUnhandledPromptBehaviour(UnexpectedAlertBehaviour behaviour)

ChromeOptions()

支持的方法
  • addArguments(java.lang.String... arguments)
  • addExtensions(java.io.File... paths)
  • addEncodedExtensions(java.util.List<java.lang.String> encoded)
  • merge(Capabilities extraCapabilities)
  • setBinary(java.lang.String path)
  • setExperimentalOption(java.lang.String name, java.lang.Object value)
  • setHeadless(boolean headless)
  • setPageLoadStrategy(PageLoadStrategy strategy)
  • setProxy(Proxy proxy)
  • setUnhandledPromptBehaviour(UnexpectedAlertBehaviour behaviour)

所以很明显,虽然 ChromeOptions()FirefoxOptions() 支持的方法几乎相似,但是它们分别支持一些不同的方法。 setExperimentalOption(java.lang.String name, java.lang.Object value)就是其中之一。


setExperimentalOption()

setExperimentalOption(java.lang.String name, java.lang.Object value) 设置一个实验性选项。此方法对于尚未通过 ChromeOptions API.

公开的新 ChromeDriver 选项很有用
public ChromeOptions setExperimentalOption(java.lang.String name, java.lang.Object value)

结论

setExperimentalOption() 方法仅通过 ChromeOptions() 独家支持,不通过 FirefoxOptions() 支持。