mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
138 lines
4.2 KiB
Markdown
138 lines
4.2 KiB
Markdown
---
|
|
id: intro
|
|
title: "Getting Started"
|
|
---
|
|
|
|
<!-- TOC -->
|
|
- [Release notes](./release-notes.md)
|
|
|
|
## Installation
|
|
|
|
Playwright is distributed as a set of [Maven](https://maven.apache.org/what-is-maven.html) modules. The easiest way to use it is to add one dependency to your project's `pom.xml` as described below. If you're not familiar with Maven please refer to its [documentation](https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html).
|
|
|
|
## Usage
|
|
|
|
<Tabs
|
|
defaultValue="java"
|
|
values={[
|
|
{label: 'Example.java', value: 'java'},
|
|
{label: 'pom.xml', value: 'pom'}
|
|
]
|
|
}>
|
|
<TabItem value="java">
|
|
|
|
```java
|
|
package org.example;
|
|
|
|
import com.microsoft.playwright.*;
|
|
|
|
public class Example {
|
|
public static void main(String[] args) {
|
|
try (Playwright playwright = Playwright.create()) {
|
|
Browser browser = playwright.chromium().launch();
|
|
Page page = browser.newPage();
|
|
page.navigate("http://playwright.dev");
|
|
System.out.println(page.title());
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
</TabItem>
|
|
<TabItem value="pom">
|
|
|
|
```xml
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>org.example</groupId>
|
|
<artifactId>examples</artifactId>
|
|
<version>0.1-SNAPSHOT</version>
|
|
<name>Playwright Client Examples</name>
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
</properties>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.microsoft.playwright</groupId>
|
|
<artifactId>playwright</artifactId>
|
|
<version>1.9.0-alpha-0</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.1</version>
|
|
<configuration>
|
|
<source>1.8</source>
|
|
<target>1.8</target>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|
|
```
|
|
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
With the Example.java and pom.xml above, compile and execute your new program as follows:
|
|
|
|
```sh
|
|
mvn compile exec:java -Dexec.mainClass="org.example.Example"
|
|
```
|
|
|
|
Running it downloads the Playwright package and installs browser binaries for Chromium, Firefox and WebKit. To modify this behavior see [installation parameters](./installation.md).
|
|
|
|
## First script
|
|
|
|
In our first script, we will navigate to `whatsmyuseragent.org` and take a screenshot in WebKit.
|
|
|
|
```java
|
|
import com.microsoft.playwright.*;
|
|
import java.nio.file.Paths;
|
|
|
|
public class WebKitScreenshot {
|
|
public static void main(String[] args) {
|
|
try (Playwright playwright = Playwright.create()) {
|
|
Browser browser = playwright.webkit().launch();
|
|
Page page = browser.newPage();
|
|
page.navigate("http://whatsmyuseragent.org/");
|
|
page.screenshot(new Page.ScreenshotOptions().setPath(Paths.get("example.png")));
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
By default, Playwright runs the browsers in headless mode. To see the browser UI, pass the `headless=false` flag while launching the browser. You can also use [`option: slowMo`] to slow down execution. Learn more in the debugging tools [section](./debug.md).
|
|
|
|
```java
|
|
playwright.firefox().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(50));
|
|
```
|
|
|
|
## Record scripts
|
|
|
|
Command Line Interface [CLI](./cli.md) can be used to record user interactions and generate Java code.
|
|
|
|
```sh
|
|
$ mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="codegen wikipedia.org"
|
|
```
|
|
|
|
## System requirements
|
|
|
|
Playwright requires **Java 8** or newer. The browser binaries for Chromium,
|
|
Firefox and WebKit work across the 3 platforms (Windows, macOS, Linux):
|
|
|
|
* **Windows**: Works with Windows and Windows Subsystem for Linux (WSL).
|
|
* **macOS**: Requires 10.14 or above.
|
|
* **Linux**: Depending on your Linux distribution, you might need to install additional
|
|
dependencies to run the browsers.
|
|
* Firefox requires Ubuntu 18.04+
|
|
* For Ubuntu 18.04, the additional dependencies are defined in [our Docker image](https://github.com/microsoft/playwright/blob/master/utils/docker/Dockerfile.bionic),
|
|
which is based on Ubuntu.
|