ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("useAutomationExtension", false);
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
我想使用 Selenium IDE 登录 Google,但 Google 不允许自动化框架登录。但是,通过使用上述选项,可以登录 Google。
以上选项是为 ChromeDriver
定义的,我需要为 FirefoxDriver
定义它们。我该怎么做?
最佳答案
开始日新月异GeckoDriver和 ChromeDriver正在演变为更加稳健并符合 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/