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((不支持。