Class Browser.NewContextOptions

java.lang.Object
com.microsoft.playwright.Browser.NewContextOptions
Enclosing interface:
Browser

public static class Browser.NewContextOptions extends Object
  • Field Details

    • acceptDownloads

      public Boolean acceptDownloads
      Whether to automatically download all the attachments. Defaults to true where all the downloads are accepted.
    • baseURL

      public String baseURL
      When using Page.navigate(), Page.route(), Page.waitForURL(), Page.waitForRequest(), or Page.waitForResponse() it takes the base URL in consideration by using the URL() constructor for building the corresponding URL. Unset by default. Examples:
      • baseURL: http://localhost:3000 and navigating to /bar.html results in http://localhost:3000/bar.html
      • baseURL: http://localhost:3000/foo/ and navigating to ./bar.html results in http://localhost:3000/foo/bar.html
      • baseURL: http://localhost:3000/foo (without trailing slash) and navigating to ./bar.html results in http://localhost:3000/bar.html
    • bypassCSP

      public Boolean bypassCSP
      Toggles bypassing page's Content-Security-Policy. Defaults to false.
    • colorScheme

      public Optional<ColorScheme> colorScheme
      Emulates "prefers-colors-scheme" media feature, supported values are "light", "dark", "no-preference". See Page.emulateMedia() for more details. Passing null resets emulation to system defaults. Defaults to "light".
    • deviceScaleFactor

      public Double deviceScaleFactor
      Specify device scale factor (can be thought of as dpr). Defaults to 1. Learn more about emulating devices with device scale factor.
    • extraHTTPHeaders

      public Map<String,String> extraHTTPHeaders
      An object containing additional HTTP headers to be sent with every request. Defaults to none.
    • forcedColors

      public Optional<ForcedColors> forcedColors
      Emulates "forced-colors" media feature, supported values are "active", "none". See Page.emulateMedia() for more details. Passing null resets emulation to system defaults. Defaults to "none".
    • geolocation

      public Geolocation geolocation
    • hasTouch

      public Boolean hasTouch
      Specifies if viewport supports touch events. Defaults to false. Learn more about mobile emulation.
    • httpCredentials

      public HttpCredentials httpCredentials
      Credentials for HTTP authentication. If no origin is specified, the username and password are sent to any servers upon unauthorized responses.
    • ignoreHTTPSErrors

      public Boolean ignoreHTTPSErrors
      Whether to ignore HTTPS errors when sending network requests. Defaults to false.
    • isMobile

      public Boolean isMobile
      Whether the meta viewport tag is taken into account and touch events are enabled. isMobile is a part of device, so you don't actually need to set it manually. Defaults to false and is not supported in Firefox. Learn more about mobile emulation.
    • javaScriptEnabled

      public Boolean javaScriptEnabled
      Whether or not to enable JavaScript in the context. Defaults to true. Learn more about disabling JavaScript.
    • locale

      public String locale
      Specify user locale, for example en-GB, de-DE, etc. Locale will affect navigator.language value, Accept-Language request header value as well as number and date formatting rules. Defaults to the system default locale. Learn more about emulation in our emulation guide.
    • offline

      public Boolean offline
      Whether to emulate network being offline. Defaults to false. Learn more about network emulation.
    • permissions

      public List<String> permissions
      A list of permissions to grant to all pages in this context. See BrowserContext.grantPermissions() for more details. Defaults to none.
    • proxy

      public Proxy proxy
      Network proxy settings to use with this context. Defaults to none.

      NOTE: For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If all contexts override the proxy, global proxy will be never used and can be any string, for example launch({ proxy: { server: 'http://per-context' } }).

    • recordHarContent

      public HarContentPolicy recordHarContent
      Optional setting to control resource content management. If omit is specified, content is not persisted. If attach is specified, resources are persisted as separate files and all of these files are archived along with the HAR file. Defaults to embed, which stores content inline the HAR file as per HAR specification.
    • recordHarMode

      public HarMode recordHarMode
      When set to minimal, only record information necessary for routing from HAR. This omits sizes, timing, page, cookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to full.
    • recordHarOmitContent

      public Boolean recordHarOmitContent
      Optional setting to control whether to omit request content from the HAR. Defaults to false.
    • recordHarPath

      public Path recordHarPath
      Enables HAR recording for all pages into the specified HAR file on the filesystem. If not specified, the HAR is not recorded. Make sure to call BrowserContext.close() for the HAR to be saved.
    • recordHarUrlFilter

      public Object recordHarUrlFilter
    • recordVideoDir

      public Path recordVideoDir
      Enables video recording for all pages into the specified directory. If not specified videos are not recorded. Make sure to call BrowserContext.close() for videos to be saved.
    • recordVideoSize

      public RecordVideoSize recordVideoSize
      Dimensions of the recorded videos. If not specified the size will be equal to viewport scaled down to fit into 800x800. If viewport is not configured explicitly the video size defaults to 800x450. Actual picture of each page will be scaled down if necessary to fit the specified size.
    • reducedMotion

      public Optional<ReducedMotion> reducedMotion
      Emulates "prefers-reduced-motion" media feature, supported values are "reduce", "no-preference". See Page.emulateMedia() for more details. Passing null resets emulation to system defaults. Defaults to "no-preference".
    • screenSize

      public ScreenSize screenSize
      Emulates consistent window screen size available inside web page via window.screen. Is only used when the viewport is set.
    • serviceWorkers

      public ServiceWorkerPolicy serviceWorkers
      Whether to allow sites to register Service workers. Defaults to "allow".
      • "allow": Service Workers can be registered.
      • "block": Playwright will block all registration of Service Workers.
    • storageState

      public String storageState
      Populates context with given storage state. This option can be used to initialize context with logged-in information obtained via BrowserContext.storageState().
    • storageStatePath

      public Path storageStatePath
      Populates context with given storage state. This option can be used to initialize context with logged-in information obtained via BrowserContext.storageState(). Path to the file with saved storage state.
    • strictSelectors

      public Boolean strictSelectors
      If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on selectors that imply single target DOM element will throw when more than one element matches the selector. This option does not affect any Locator APIs (Locators are always strict). Defaults to false. See Locator to learn more about the strict mode.
    • timezoneId

      public String timezoneId
      Changes the timezone of the context. See ICU's metaZones.txt for a list of supported timezone IDs. Defaults to the system timezone.
    • userAgent

      public String userAgent
      Specific user agent to use in this context.
    • viewportSize

      public Optional<ViewportSize> viewportSize
      Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use null to disable the consistent viewport emulation. Learn more about viewport emulation.

      NOTE: The null value opts out from the default presets, makes viewport depend on the host window size defined by the operating system. It makes the execution of the tests non-deterministic.

  • Constructor Details

    • NewContextOptions

      public NewContextOptions()
  • Method Details

    • setAcceptDownloads

      public Browser.NewContextOptions setAcceptDownloads(boolean acceptDownloads)
      Whether to automatically download all the attachments. Defaults to true where all the downloads are accepted.
    • setBaseURL

      public Browser.NewContextOptions setBaseURL(String baseURL)
      When using Page.navigate(), Page.route(), Page.waitForURL(), Page.waitForRequest(), or Page.waitForResponse() it takes the base URL in consideration by using the URL() constructor for building the corresponding URL. Unset by default. Examples:
      • baseURL: http://localhost:3000 and navigating to /bar.html results in http://localhost:3000/bar.html
      • baseURL: http://localhost:3000/foo/ and navigating to ./bar.html results in http://localhost:3000/foo/bar.html
      • baseURL: http://localhost:3000/foo (without trailing slash) and navigating to ./bar.html results in http://localhost:3000/bar.html
    • setBypassCSP

      public Browser.NewContextOptions setBypassCSP(boolean bypassCSP)
      Toggles bypassing page's Content-Security-Policy. Defaults to false.
    • setColorScheme

      public Browser.NewContextOptions setColorScheme(ColorScheme colorScheme)
      Emulates "prefers-colors-scheme" media feature, supported values are "light", "dark", "no-preference". See Page.emulateMedia() for more details. Passing null resets emulation to system defaults. Defaults to "light".
    • setDeviceScaleFactor

      public Browser.NewContextOptions setDeviceScaleFactor(double deviceScaleFactor)
      Specify device scale factor (can be thought of as dpr). Defaults to 1. Learn more about emulating devices with device scale factor.
    • setExtraHTTPHeaders

      public Browser.NewContextOptions setExtraHTTPHeaders(Map<String,String> extraHTTPHeaders)
      An object containing additional HTTP headers to be sent with every request. Defaults to none.
    • setForcedColors

      public Browser.NewContextOptions setForcedColors(ForcedColors forcedColors)
      Emulates "forced-colors" media feature, supported values are "active", "none". See Page.emulateMedia() for more details. Passing null resets emulation to system defaults. Defaults to "none".
    • setGeolocation

      public Browser.NewContextOptions setGeolocation(double latitude, double longitude)
    • setGeolocation

      public Browser.NewContextOptions setGeolocation(Geolocation geolocation)
    • setHasTouch

      public Browser.NewContextOptions setHasTouch(boolean hasTouch)
      Specifies if viewport supports touch events. Defaults to false. Learn more about mobile emulation.
    • setHttpCredentials

      public Browser.NewContextOptions setHttpCredentials(String username, String password)
      Credentials for HTTP authentication. If no origin is specified, the username and password are sent to any servers upon unauthorized responses.
    • setHttpCredentials

      public Browser.NewContextOptions setHttpCredentials(HttpCredentials httpCredentials)
      Credentials for HTTP authentication. If no origin is specified, the username and password are sent to any servers upon unauthorized responses.
    • setIgnoreHTTPSErrors

      public Browser.NewContextOptions setIgnoreHTTPSErrors(boolean ignoreHTTPSErrors)
      Whether to ignore HTTPS errors when sending network requests. Defaults to false.
    • setIsMobile

      public Browser.NewContextOptions setIsMobile(boolean isMobile)
      Whether the meta viewport tag is taken into account and touch events are enabled. isMobile is a part of device, so you don't actually need to set it manually. Defaults to false and is not supported in Firefox. Learn more about mobile emulation.
    • setJavaScriptEnabled

      public Browser.NewContextOptions setJavaScriptEnabled(boolean javaScriptEnabled)
      Whether or not to enable JavaScript in the context. Defaults to true. Learn more about disabling JavaScript.
    • setLocale

      public Browser.NewContextOptions setLocale(String locale)
      Specify user locale, for example en-GB, de-DE, etc. Locale will affect navigator.language value, Accept-Language request header value as well as number and date formatting rules. Defaults to the system default locale. Learn more about emulation in our emulation guide.
    • setOffline

      public Browser.NewContextOptions setOffline(boolean offline)
      Whether to emulate network being offline. Defaults to false. Learn more about network emulation.
    • setPermissions

      public Browser.NewContextOptions setPermissions(List<String> permissions)
      A list of permissions to grant to all pages in this context. See BrowserContext.grantPermissions() for more details. Defaults to none.
    • setProxy

      public Browser.NewContextOptions setProxy(String server)
      Network proxy settings to use with this context. Defaults to none.

      NOTE: For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If all contexts override the proxy, global proxy will be never used and can be any string, for example launch({ proxy: { server: 'http://per-context' } }).

    • setProxy

      public Browser.NewContextOptions setProxy(Proxy proxy)
      Network proxy settings to use with this context. Defaults to none.

      NOTE: For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If all contexts override the proxy, global proxy will be never used and can be any string, for example launch({ proxy: { server: 'http://per-context' } }).

    • setRecordHarContent

      public Browser.NewContextOptions setRecordHarContent(HarContentPolicy recordHarContent)
      Optional setting to control resource content management. If omit is specified, content is not persisted. If attach is specified, resources are persisted as separate files and all of these files are archived along with the HAR file. Defaults to embed, which stores content inline the HAR file as per HAR specification.
    • setRecordHarMode

      public Browser.NewContextOptions setRecordHarMode(HarMode recordHarMode)
      When set to minimal, only record information necessary for routing from HAR. This omits sizes, timing, page, cookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to full.
    • setRecordHarOmitContent

      public Browser.NewContextOptions setRecordHarOmitContent(boolean recordHarOmitContent)
      Optional setting to control whether to omit request content from the HAR. Defaults to false.
    • setRecordHarPath

      public Browser.NewContextOptions setRecordHarPath(Path recordHarPath)
      Enables HAR recording for all pages into the specified HAR file on the filesystem. If not specified, the HAR is not recorded. Make sure to call BrowserContext.close() for the HAR to be saved.
    • setRecordHarUrlFilter

      public Browser.NewContextOptions setRecordHarUrlFilter(String recordHarUrlFilter)
    • setRecordHarUrlFilter

      public Browser.NewContextOptions setRecordHarUrlFilter(Pattern recordHarUrlFilter)
    • setRecordVideoDir

      public Browser.NewContextOptions setRecordVideoDir(Path recordVideoDir)
      Enables video recording for all pages into the specified directory. If not specified videos are not recorded. Make sure to call BrowserContext.close() for videos to be saved.
    • setRecordVideoSize

      public Browser.NewContextOptions setRecordVideoSize(int width, int height)
      Dimensions of the recorded videos. If not specified the size will be equal to viewport scaled down to fit into 800x800. If viewport is not configured explicitly the video size defaults to 800x450. Actual picture of each page will be scaled down if necessary to fit the specified size.
    • setRecordVideoSize

      public Browser.NewContextOptions setRecordVideoSize(RecordVideoSize recordVideoSize)
      Dimensions of the recorded videos. If not specified the size will be equal to viewport scaled down to fit into 800x800. If viewport is not configured explicitly the video size defaults to 800x450. Actual picture of each page will be scaled down if necessary to fit the specified size.
    • setReducedMotion

      public Browser.NewContextOptions setReducedMotion(ReducedMotion reducedMotion)
      Emulates "prefers-reduced-motion" media feature, supported values are "reduce", "no-preference". See Page.emulateMedia() for more details. Passing null resets emulation to system defaults. Defaults to "no-preference".
    • setScreenSize

      public Browser.NewContextOptions setScreenSize(int width, int height)
      Emulates consistent window screen size available inside web page via window.screen. Is only used when the viewport is set.
    • setScreenSize

      public Browser.NewContextOptions setScreenSize(ScreenSize screenSize)
      Emulates consistent window screen size available inside web page via window.screen. Is only used when the viewport is set.
    • setServiceWorkers

      public Browser.NewContextOptions setServiceWorkers(ServiceWorkerPolicy serviceWorkers)
      Whether to allow sites to register Service workers. Defaults to "allow".
      • "allow": Service Workers can be registered.
      • "block": Playwright will block all registration of Service Workers.
    • setStorageState

      public Browser.NewContextOptions setStorageState(String storageState)
      Populates context with given storage state. This option can be used to initialize context with logged-in information obtained via BrowserContext.storageState().
    • setStorageStatePath

      public Browser.NewContextOptions setStorageStatePath(Path storageStatePath)
      Populates context with given storage state. This option can be used to initialize context with logged-in information obtained via BrowserContext.storageState(). Path to the file with saved storage state.
    • setStrictSelectors

      public Browser.NewContextOptions setStrictSelectors(boolean strictSelectors)
      If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on selectors that imply single target DOM element will throw when more than one element matches the selector. This option does not affect any Locator APIs (Locators are always strict). Defaults to false. See Locator to learn more about the strict mode.
    • setTimezoneId

      public Browser.NewContextOptions setTimezoneId(String timezoneId)
      Changes the timezone of the context. See ICU's metaZones.txt for a list of supported timezone IDs. Defaults to the system timezone.
    • setUserAgent

      public Browser.NewContextOptions setUserAgent(String userAgent)
      Specific user agent to use in this context.
    • setViewportSize

      public Browser.NewContextOptions setViewportSize(int width, int height)
      Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use null to disable the consistent viewport emulation. Learn more about viewport emulation.

      NOTE: The null value opts out from the default presets, makes viewport depend on the host window size defined by the operating system. It makes the execution of the tests non-deterministic.

    • setViewportSize

      public Browser.NewContextOptions setViewportSize(ViewportSize viewportSize)
      Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use null to disable the consistent viewport emulation. Learn more about viewport emulation.

      NOTE: The null value opts out from the default presets, makes viewport depend on the host window size defined by the operating system. It makes the execution of the tests non-deterministic.