Google Chrome + Playwright в Ubuntu Desktop

Для контроля Google Chrome фреймворком Playwright необходим запуск Chrome в debug режиме.

Установка Google Chrome

Для начала установим Google Chrome. Откройте терминал и выполните следующие команды:

wget https://dl-ssl.google.com/linux/linux_signing_key.pub -O /tmp/google.pub
gpg --no-default-keyring --keyring /etc/apt/keyrings/google-chrome.gpg --import /tmp/google.pub
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list
sudo apt-get install google-chrome-stable

Эти команды загрузят установочный пакет Google Chrome, установят его и исправят возможные зависимости.

Запуск Chrome в debug режиме

Теперь запустим Chrome в debug режиме. Для этого создадим скрипт запуска. Создайте файл start-chrome-debug.sh и добавьте в него следующий код:

#!/bin/bash
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug-profile

Сделайте файл исполняемым:

chmod +x start-chrome-debug.sh

Теперь запустим Chrome в debug режиме, выполнив:

./start-chrome-debug.sh

Установка Playwright

Для работы с Playwright, установите его с помощью npm:

shCopy codenpm init -y
npm install playwright

Написание Playwright кода

Теперь напишем Playwright код, который будет открывать сайт sassoft.ru и кликать по кнопке «Контакты».

Создаем файл index.js:

const { chromium } = require('playwright');

(async () => {
const browser = await chromium.connectOverCDP('http://localhost:9222');
const context = await browser.newContext();
const page = await context.newPage();
await page.goto('https://sassoft.ru');

// Ждем загрузки страницы и кликаем по кнопке "Контакты"
await page.waitForSelector('a[href="/contacts"]');
await page.click('a[href="/contacts"]');

// Закрываем браузер
await browser.close();
})();

Запуск Playwright скрипта

node index.js

Этот скрипт откроет Google Chrome, перейдет на сайт sassoft.ru и кликнет по кнопке «Контакты».

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *