# Начало

[Официальный сайт проекта](https://playwright.dev/)

**Установка**

```
python -m pip install playwright
```

Проверка установки

```
playwright --version
```

Установка драйверов для браузеров

```
playwright install #Все браузеры
playwright install name #Только name браузеры
playwright install chromium #Chrome
```

Установка pytest

```
python -m pip install pytest
```

Установка плагина pytest-playwright

```
python -m pip install pytest-playwright
```

**Описание**

Два режима работы: синхронный и асинхронный. Для синхронного:

```python
from playwright.sync_api import sync_playwright
```

Для асинхронного режима:

```python
import asyncio
from playwright.async_api import async_playwright

async def main():
    async with async_playwright() as playwright:
        browser = await playwright.chromium.launch()
        page = await browser.new_page()
        await page.goto("https://playwright.dev")
        print(await page.title())
        await browser.close()

asyncio.run(main())
```

Чаще используется синхронный режим.

Запуск и закрытие браузера:

```python
from playwright.sync_api import sync_playwright

with sync_playwright() as playwright:
    browser = playwright.chromium.launch(headless=False, slow_mo=500)
    page = browser.new_page()
    page.goto("https://playwright.dev/python")

    docs_button = page.get_by_role('link', name="Docs")
    docs_button.click()

    browser.close()

```

headless=False обозначает визуальное открытие, slow\_mo задержка

**Использование интерактивной консоли**

Иногда для удобства можно использовать консоль python для ручного тестирования покомандного ввода.

```python
python
Python 3.13.1 (tags/v3.13.1:0671451, Dec  3 2024, 19:06:28) [MSC v.1942 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from playwright.sync_api import sync_playwright
>>> playwright = sync_playwright().start()
>>> browser = playwright.chromium.launch(headless=False, slow_mo=100)
>>> page = browser.new_page()
>>> browser.close()
>>> playwright.stop()
```

Если создать docs\_button, у нее будет метод highlight() для визуальной подсветки найденного элемента.