Class HtmlUnitDriverOptions
- java.lang.Object
-
- org.openqa.selenium.MutableCapabilities
-
- org.openqa.selenium.remote.AbstractDriverOptions<HtmlUnitDriverOptions>
-
- org.openqa.selenium.htmlunit.options.HtmlUnitDriverOptions
-
- All Implemented Interfaces:
Serializable
,org.openqa.selenium.Capabilities
public class HtmlUnitDriverOptions extends org.openqa.selenium.remote.AbstractDriverOptions<HtmlUnitDriverOptions>
Class to manage options specific toHtmlUnitDriver
.Example usage:
HtmlUnitDriverOptions options = new HtmlUnitDriverOptions() .setWebClientVersion(BrowserVersion.FIREFOX_ESR) .setJavaScriptEnabled(true); // For use with HtmlUnitDriver: HtmlUnitDriver driver = new HtmlUnitDriver(options); // For use with RemoteWebDriver: RemoteWebDriver driver = new RemoteWebDriver( new URL("http://localhost:4444/"), new HtmlUnitDriverOptions());
Getting/setting HtmlUnitDriver options:
In addition to methods for reading and writing specific HtmlUnitDriver options, you can use the standard
MutableCapabilities
API:Capabilities.is(String)
getCapability(String)
setCapability(String, Object)
Example usage:
HtmlUnitDriverOptions options = new HtmlUnitDriverOptions(); boolean popupBlockerEnabled = options.is(HtmlUnitOption.optPopupBlockerEnabled); // NOTE: See "Getting individual browser version traits" below String browserLanguage = (String) options.getCapability(BrowserVersionTrait.optBrowserLanguage); options.setCapability(HtmlUnitOption.optGeolocationEnabled, true);
Getting individual browser version traits:
HtmlUnitDriverOption contains a
The individual traits of the BrowserVersion object can be read directly as well via the standardBrowserVersion
which can be read and written directly:Capabilities
API. For example:
NOTE: Although HtmlUnitDriverOptions objects are mutable (their properties can be altered), the individual traits of theHtmlUnitDriverOptions options = new HtmlUnitDriverOptions(BrowserVersion.EDGE); // System time zone accessed via BrowserVersion API TimeZone viaBrowserVersion = options.getWebClientVersion.getSystemTimezone(); // System time zone accessed via standard Capabilities API TimeZone viaCapabilityName = (TimeZone) options.getCapability(BrowserVersionTrait.optSystemTimezone);
BrowserVersion
object within these objects cannot be altered:HtmlUnitDriverOptions options = new HtmlUnitDriverOptions(BrowserVersion.CHROME); options.setCapability(BrowserVersionTrait.optUserAgent, "HtmlUnitDriver emulating Google Chrome"); // => UnsupporterOperationException: Individual browser version traits are immutable; 'optUserAgent' cannot be set
- Since:
- HtmlUnitDriver v4.22.0
- Author:
- Scott Babcock, Ronald Brill
- See Also:
HtmlUnitOption
,BrowserVersionTrait
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
HTMLUNIT_OPTIONS
Key used to store a set of HtmlUnitDriverOptions in aCapabilities
object.
-
Constructor Summary
Constructors Constructor Description HtmlUnitDriverOptions()
HtmlUnitDriverOptions(Map<String,Object> optionsMap)
HtmlUnitDriverOptions(org.htmlunit.BrowserVersion version)
HtmlUnitDriverOptions(org.htmlunit.BrowserVersion version, boolean enableJavascript)
HtmlUnitDriverOptions(org.openqa.selenium.Capabilities source)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
applyOptions(org.htmlunit.WebClientOptions target)
Apply values from this HtmlUnitDriver options object to the specifies target.Object
getCapability(String capabilityName)
protected Object
getExtraCapability(String capabilityName)
protected Set<String>
getExtraCapabilityNames()
org.htmlunit.BrowserVersion
getWebClientVersion()
HtmlUnitDriverOptions
importOptions(org.htmlunit.WebClientOptions source)
Import values from the specified source into this HtmlUnitDriver options object.boolean
isDownloadImages()
boolean
isJavaScriptEnabled()
void
setCapability(String capabilityName, Object value)
HtmlUnitDriverOptions
setDownloadImages(boolean downloadImages)
HtmlUnitDriverOptions
setJavaScriptEnabled(boolean enableJavascript)
HtmlUnitDriverOptions
setSSLClientCertificateKeyStore(InputStream keyStoreInputStream, String keyStorePassword, String keyStoreType)
HtmlUnitDriverOptions
setSSLClientCertificateKeyStore(URL keyStoreUrl, String keyStorePassword, String keyStoreType)
HtmlUnitDriverOptions
setSSLClientCertificateKeyStore(KeyStore keyStore, char[] keyStorePassword)
HtmlUnitDriverOptions
setSSLTrustStore(URL sslTrustStoreUrl, String sslTrustStorePassword, String sslTrustStoreType)
HtmlUnitDriverOptions
setWebClientVersion(org.htmlunit.BrowserVersion webClientVersion)
-
Methods inherited from class org.openqa.selenium.remote.AbstractDriverOptions
asMap, getCapabilityNames, setAcceptInsecureCerts, setBrowserVersion, setEnableDownloads, setImplicitWaitTimeout, setPageLoadStrategy, setPageLoadTimeout, setPlatformName, setProxy, setScriptTimeout, setStrictFileInteractability, setUnhandledPromptBehaviour
-
Methods inherited from class org.openqa.selenium.MutableCapabilities
equals, hashCode, merge, setCapability, setCapability, setCapability, toJson, toString
-
-
-
-
Field Detail
-
HTMLUNIT_OPTIONS
public static final String HTMLUNIT_OPTIONS
Key used to store a set of HtmlUnitDriverOptions in aCapabilities
object.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
HtmlUnitDriverOptions
public HtmlUnitDriverOptions()
-
HtmlUnitDriverOptions
public HtmlUnitDriverOptions(org.htmlunit.BrowserVersion version)
-
HtmlUnitDriverOptions
public HtmlUnitDriverOptions(org.htmlunit.BrowserVersion version, boolean enableJavascript)
-
HtmlUnitDriverOptions
public HtmlUnitDriverOptions(org.openqa.selenium.Capabilities source)
-
-
Method Detail
-
getCapability
public Object getCapability(String capabilityName)
- Specified by:
getCapability
in interfaceorg.openqa.selenium.Capabilities
- Overrides:
getCapability
in classorg.openqa.selenium.remote.AbstractDriverOptions<HtmlUnitDriverOptions>
-
setCapability
public void setCapability(String capabilityName, Object value)
- Overrides:
setCapability
in classorg.openqa.selenium.MutableCapabilities
-
getExtraCapabilityNames
protected Set<String> getExtraCapabilityNames()
- Specified by:
getExtraCapabilityNames
in classorg.openqa.selenium.remote.AbstractDriverOptions<HtmlUnitDriverOptions>
-
getExtraCapability
protected Object getExtraCapability(String capabilityName)
- Specified by:
getExtraCapability
in classorg.openqa.selenium.remote.AbstractDriverOptions<HtmlUnitDriverOptions>
-
importOptions
public HtmlUnitDriverOptions importOptions(org.htmlunit.WebClientOptions source)
Import values from the specified source into this HtmlUnitDriver options object.- Parameters:
source
- sourceWebClientOptions
object- Returns:
- this
HtmlUnitDriverOptions
object
-
applyOptions
public void applyOptions(org.htmlunit.WebClientOptions target)
Apply values from this HtmlUnitDriver options object to the specifies target.- Parameters:
target
- targetWebClientOptions
object
-
isJavaScriptEnabled
public boolean isJavaScriptEnabled()
-
setJavaScriptEnabled
public HtmlUnitDriverOptions setJavaScriptEnabled(boolean enableJavascript)
-
isDownloadImages
public boolean isDownloadImages()
-
setDownloadImages
public HtmlUnitDriverOptions setDownloadImages(boolean downloadImages)
-
getWebClientVersion
public org.htmlunit.BrowserVersion getWebClientVersion()
-
setWebClientVersion
public HtmlUnitDriverOptions setWebClientVersion(org.htmlunit.BrowserVersion webClientVersion)
-
setSSLClientCertificateKeyStore
public HtmlUnitDriverOptions setSSLClientCertificateKeyStore(KeyStore keyStore, char[] keyStorePassword)
-
setSSLClientCertificateKeyStore
public HtmlUnitDriverOptions setSSLClientCertificateKeyStore(URL keyStoreUrl, String keyStorePassword, String keyStoreType)
-
setSSLClientCertificateKeyStore
public HtmlUnitDriverOptions setSSLClientCertificateKeyStore(InputStream keyStoreInputStream, String keyStorePassword, String keyStoreType)
-
setSSLTrustStore
public HtmlUnitDriverOptions setSSLTrustStore(URL sslTrustStoreUrl, String sslTrustStorePassword, String sslTrustStoreType)
-
-