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

标签 java selenium selenium-chromedriver selenium-ide selenium-firefoxdriver

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

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

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

最佳答案

开始日新月异GeckoDriverChromeDriver正在演变为更加稳健并符合 WebDriver Level 2 W3C规范。

但是,通过 ChromeOptions 支持的方法和 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() 不支持该方法。

关于java - 如何在 Selenium IDE 中使用 FirefoxDriver 通过选项使用 setExperimentalOption?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62553189/

相关文章:

java - TrueTime 有时不提供值(value)

java - 如何正确使用泛型?

java - 从网页中获取文本的背景颜色

Selenium 服务器无法远程运行 - 启动 Firefox 时出现问题

java - 如何在浏览器中验证 pdf 查看器

java - Eclipse m2e 插件停止更改类路径以添加依赖项

java - 如何向 JavaFX 2.2.6 中的 PopupControl 添加内容?

Selenium 网络驱动程序 : Open new tab instead of a new window

java - 如何使用 selenium java 下载 pdf 文件?

java - WebElement在浏览器中使用cssSelector、xpath可定位,虽然不为null,但为NotPresent、NotClickable、NotEnabled