Навигация по веб-страницам с помощью драматурга: удобное руководство по возврату назад

Привет, коллеги-разработчики! Сегодня мы собираемся погрузиться в мир драматурга и узнать, как вернуться на предыдущую страницу. Независимо от того, автоматизируете ли вы задачи браузера, создаете сценарии очистки веб-страниц или просто перемещаетесь по сети, Playwright предлагает несколько отличных методов, которые сделают вашу жизнь проще. Итак, засучим рукава и начнем!

  1. Классический метод: page.goBack()
    Драматург предоставляет простой способ вернуться назад, используя метод goBack(). Этот метод позволяет вам вернуться на предыдущую страницу истории посещений. Вот фрагмент кода, иллюстрирующий, как использовать его в JavaScript:

    const { chromium } = require('playwright');
    async function navigateBack() {
     const browser = await chromium.launch();
     const page = await browser.newPage();
     // Navigate to a webpage
     await page.goto('https://www.example.com');
     // Go back to the previous page
     await page.goBack();
     await browser.close();
    }
    navigateBack();
  2. Сочетание клавиш: page.keyboard.press('ArrowLeft')
    Если вы предпочитаете имитировать действия клавиатуры, вы можете имитировать нажатие клавиши со стрелкой влево, чтобы вернуться назад. Этот метод может быть удобен, если ваш сценарий автоматизации предполагает взаимодействие со страницей с помощью имитации нажатий клавиш. Вот пример:

    // ... code omitted for brevity ...
    // Simulate pressing the left arrow key
    await page.keyboard.press('ArrowLeft');
    // ... code omitted for brevity ...
  3. History API: page.evaluate(() => window.history.back())
    Playwright позволяет выполнять код JavaScript в контексте страницы браузера. Используя History API, вы можете использовать метод window.history.back()для возврата. Вот как это можно сделать:

    // ... code omitted for brevity ...
    // Go back using the History API
    await page.evaluate(() => window.history.back());
    // ... code omitted for brevity ...
  4. Событие навигации: page.on('framenavigated', callback)
    Если вы хотите получать уведомления при каждом возникновении события навигации, вы можете прослушать событие framenavigatedи обработать его соответствующим образом.. В функции обратного вызова вы можете выполнять такие действия, как возврат или запись URL-адреса. Вот пример:

    // ... code omitted for brevity ...
    page.on('framenavigated', async (frame) => {
     const url = frame.url();
     // Check if the URL matches the previous page you want to go back to
     if (url === 'https://www.previouspage.com') {
       await page.goBack();
     }
    });
    // ... code omitted for brevity ...

Имея в своем распоряжении эти методы, вы можете легко вернуться на предыдущую страницу с помощью Playwright. Предпочитаете ли вы простоту goBack(), гибкость History API или подход, управляемый событиями, Playwright поможет вам.

Не забудьте выбрать метод, который лучше всего подходит для вашего конкретного случая использования. Приятного кодирования!