Python мануфактураJavaDesign Patterns для автоматизаторів

Терміни, нюанси та джерела

Нюанс · 3:00

IDE install action не перевіряє довіру

pip documentation прямо попереджає, що installation може виконувати arbitrary code з distributions. Назву й джерело package потрібно перевіряти до install; для repeatable secure installs доступний hash-checking mode.

Навіщо встановлювати Playwright-браузери, як часто та чому треба оновлювати бібліотеки →

Java · Сесії: AMA та PMP · 0:00–2:36

Пакет Playwright і браузери — різні артефакти

`pip install` за `requirements.txt` встановлює Python-бібліотеку Playwright, але не гарантовано завантажує сумісні браузерні binaries. Тому після клонування проєкту окремо запускають `playwright install` або, для меншого завантаження, команду з потрібним браузером, наприклад `playwright install chromium`. Playwright керує власними сумісними збірками Chromium, Firefox і WebKit. Якщо потрібної збірки немає у його cache, запуск завершується помилкою навіть тоді, коли сам Python-пакет уже встановлений.

Навіщо встановлювати Playwright-браузери, як часто та чому треба оновлювати бібліотеки →

Java · Сесії: AMA та PMP · 44:20–48:12

Playwright як тонкий клієнт і підсумкова модель

[Дивитися з 44:20](https://www.youtube.com/watch?v=6QdvE9DHOIY&t=2660s). Підсумкова ієрархія: створюється root `Playwright` instance, далі `Browser`, `BrowserContext` і `Page`; locators працюють у frame/page context. `ChannelOwner` та connection/transport пов’язують language client із driver process, а browser executable і потрібні artifacts перевіряються під час installation та startup. Для співбесіди достатньо пояснити модель без переказу кожного internal class: locator описує target; action збирає parameters; client надсилає command через transport; browser-side implementation виконує потрібні checks та повертає result; Playwright додає auto-waiting, locators, assertions, traces і reporting. Деталі protocol залежать від browser engine і версії Playwright.

Як Playwright взаємодіє з браузером через протокол →
Запитати в чаті про «installation» →