Interface BrowserType
-
public interface BrowserType
BrowserType provides methods to launch a specific browser instance or connect to an existing one. The following is a typical example of using Playwright to drive automation:import com.microsoft.playwright.*; public class Example { public static void main(String[] args) { try (Playwright playwright = Playwright.create()) { BrowserType chromium = playwright.chromium(); Browser browser = chromium.launch(); Page page = browser.newPage(); page.navigate("https://example.com"); // other actions... browser.close(); } } }
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
BrowserType.ConnectOptions
static class
BrowserType.ConnectOverCDPOptions
static class
BrowserType.LaunchOptions
static class
BrowserType.LaunchPersistentContextOptions
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default Browser
connect(String wsEndpoint)
This method attaches Playwright to an existing browser instance.Browser
connect(String wsEndpoint, BrowserType.ConnectOptions options)
This method attaches Playwright to an existing browser instance.default Browser
connectOverCDP(String endpointURL)
This method attaches Playwright to an existing browser instance using the Chrome DevTools Protocol.Browser
connectOverCDP(String endpointURL, BrowserType.ConnectOverCDPOptions options)
This method attaches Playwright to an existing browser instance using the Chrome DevTools Protocol.String
executablePath()
A path where Playwright expects to find a bundled browser executable.default Browser
launch()
Returns the browser instance.Browser
launch(BrowserType.LaunchOptions options)
Returns the browser instance.default BrowserContext
launchPersistentContext(Path userDataDir)
Returns the persistent browser context instance.BrowserContext
launchPersistentContext(Path userDataDir, BrowserType.LaunchPersistentContextOptions options)
Returns the persistent browser context instance.String
name()
Returns browser name.
-
-
-
Method Detail
-
connect
default Browser connect(String wsEndpoint)
This method attaches Playwright to an existing browser instance. When connecting to another browser launched viaBrowserType.launchServer
in Node.js, the major and minor version needs to match the client version (1.2.3 → is compatible with 1.2.x).- Parameters:
wsEndpoint
- A browser websocket endpoint to connect to.- Since:
- v1.8
-
connect
Browser connect(String wsEndpoint, BrowserType.ConnectOptions options)
This method attaches Playwright to an existing browser instance. When connecting to another browser launched viaBrowserType.launchServer
in Node.js, the major and minor version needs to match the client version (1.2.3 → is compatible with 1.2.x).- Parameters:
wsEndpoint
- A browser websocket endpoint to connect to.- Since:
- v1.8
-
connectOverCDP
default Browser connectOverCDP(String endpointURL)
This method attaches Playwright to an existing browser instance using the Chrome DevTools Protocol.The default browser context is accessible via
Browser.contexts()
.NOTE: Connecting over the Chrome DevTools Protocol is only supported for Chromium-based browsers.
**Usage**
Browser browser = playwright.chromium().connectOverCDP("http://localhost:9222"); BrowserContext defaultContext = browser.contexts().get(0); Page page = defaultContext.pages().get(0);
- Parameters:
endpointURL
- A CDP websocket endpoint or http url to connect to. For examplehttp://localhost:9222/
orws://127.0.0.1:9222/devtools/browser/387adf4c-243f-4051-a181-46798f4a46f4
.- Since:
- v1.9
-
connectOverCDP
Browser connectOverCDP(String endpointURL, BrowserType.ConnectOverCDPOptions options)
This method attaches Playwright to an existing browser instance using the Chrome DevTools Protocol.The default browser context is accessible via
Browser.contexts()
.NOTE: Connecting over the Chrome DevTools Protocol is only supported for Chromium-based browsers.
**Usage**
Browser browser = playwright.chromium().connectOverCDP("http://localhost:9222"); BrowserContext defaultContext = browser.contexts().get(0); Page page = defaultContext.pages().get(0);
- Parameters:
endpointURL
- A CDP websocket endpoint or http url to connect to. For examplehttp://localhost:9222/
orws://127.0.0.1:9222/devtools/browser/387adf4c-243f-4051-a181-46798f4a46f4
.- Since:
- v1.9
-
executablePath
String executablePath()
A path where Playwright expects to find a bundled browser executable.- Since:
- v1.8
-
launch
default Browser launch()
Returns the browser instance.**Usage**
You can use
ignoreDefaultArgs
to filter out--mute-audio
from default arguments:// Or "firefox" or "webkit". Browser browser = chromium.launch(new BrowserType.LaunchOptions() .setIgnoreDefaultArgs(Arrays.asList("--mute-audio")));
> **Chromium-only** Playwright can also be used to control the Google Chrome or Microsoft Edge browsers, but it works best with the version of Chromium it is bundled with. There is no guarantee it will work with any other version. Use
executablePath
option with extreme caution.>
> If Google Chrome (rather than Chromium) is preferred, a Chrome Canary or Dev Channel build is suggested.
>
> Stock browsers like Google Chrome and Microsoft Edge are suitable for tests that require proprietary media codecs for video playback. See this article for other differences between Chromium and Chrome. This article describes some differences for Linux users.
- Since:
- v1.8
-
launch
Browser launch(BrowserType.LaunchOptions options)
Returns the browser instance.**Usage**
You can use
ignoreDefaultArgs
to filter out--mute-audio
from default arguments:// Or "firefox" or "webkit". Browser browser = chromium.launch(new BrowserType.LaunchOptions() .setIgnoreDefaultArgs(Arrays.asList("--mute-audio")));
> **Chromium-only** Playwright can also be used to control the Google Chrome or Microsoft Edge browsers, but it works best with the version of Chromium it is bundled with. There is no guarantee it will work with any other version. Use
executablePath
option with extreme caution.>
> If Google Chrome (rather than Chromium) is preferred, a Chrome Canary or Dev Channel build is suggested.
>
> Stock browsers like Google Chrome and Microsoft Edge are suitable for tests that require proprietary media codecs for video playback. See this article for other differences between Chromium and Chrome. This article describes some differences for Linux users.
- Since:
- v1.8
-
launchPersistentContext
default BrowserContext launchPersistentContext(Path userDataDir)
Returns the persistent browser context instance.Launches browser that uses persistent storage located at
userDataDir
and returns the only context. Closing this context will automatically close the browser.- Parameters:
userDataDir
- Path to a User Data Directory, which stores browser session data like cookies and local storage. More details for Chromium and Firefox. Note that Chromium's user data directory is the **parent** directory of the "Profile Path" seen atchrome://version
. Pass an empty string to use a temporary directory instead.- Since:
- v1.8
-
launchPersistentContext
BrowserContext launchPersistentContext(Path userDataDir, BrowserType.LaunchPersistentContextOptions options)
Returns the persistent browser context instance.Launches browser that uses persistent storage located at
userDataDir
and returns the only context. Closing this context will automatically close the browser.- Parameters:
userDataDir
- Path to a User Data Directory, which stores browser session data like cookies and local storage. More details for Chromium and Firefox. Note that Chromium's user data directory is the **parent** directory of the "Profile Path" seen atchrome://version
. Pass an empty string to use a temporary directory instead.- Since:
- v1.8
-
name
String name()
Returns browser name. For example:"chromium"
,"webkit"
or"firefox"
.- Since:
- v1.8
-
-