Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Помогите, пожалуйста, конструкцию If переделать. Выдает ошибку именно в ней. Не знаю уже 10000 вариантов перепробовала(

const puppeteer = require('puppeteer');
async function testYaRu(){
console.log('Запуск браузера');
const browser = await puppeteer.launch();
console.log('Создание новой вкладки в браузере');
const page = await browser.newPage();
console.log('Переход на страницу ya.ru ');
await page.goto(' https://ya.ru/ ');
console.log('Ввод текста "Автоматизация тестирования" в поисковую строку');
const searchField = await page.$('#text');
await searchField.type('Автоматизация тестирования');
console.log('Клик в кнопку "Найти"');
const searchButton = await page.$('.button[type=submit]');
await searchButton.click ();
console.log('Ожидание перехода в страницу поисковых результатов');
await page.waitForNavigation();
console.log('Получение элементов результата поиска');
const result = await page.$('.serp-item');
console.log('Сравнение ОР и ФР');
if (text.startsWith('Автоматизация тестирования')) {
console.log('Результаты поиска отобразились. Текст содержит: Автоматизация тестирования' + text);
} else {
console.log(`Результаты поиска не найдены.`);
}
console.log('Закрытие браузера');
await browser.close();
}
testYaRu();

По дате
По рейтингу
Аватар пользователя
Ученик

Ошибка возникает из-за того, что вы используете несуществующую переменную text. Если вы хотите получить текст элемента result, то нужно использовать метод page.evaluate() и вызвать у элемента .textContent:


const resultText = await page.evaluate(result => result.textContent, result);
if (resultText.startsWith('Автоматизация тестирования')) {
console.log('Результаты поиска отобразились. Текст содержит: Автоматизация тестирования' + resultText);
} else {
console.log(`Результаты поиска не найдены.`);
}
Обратите внимание, что метод page.evaluate() возвращает промис, поэтому нужно использовать await перед ним.

Аватар пользователя
Ученик

Лишние пробелы

Аватар пользователя
Ученик

Проверено.

const puppeteer = require('puppeteer');
async function testYaRu(){
console.log('Запуск браузера');
const browser = await puppeteer.launch();
console.log('Создание новой вкладки в браузере');
const page = await browser.newPage();
console.log('Переход на страницу ya.ru ');
await page.goto(' https://ya.ru/ ');
console.log('Ввод текста "Автоматизация тестирования" в поисковую строку');
const searchField = await page.$('#text');
await searchField.type('Автоматизация тестирования');
console.log('Клик в кнопку "Найти"');
const searchButton = await page.$('.button[type=submit]');
await searchButton.click ();
console.log('Ожидание перехода в страницу поисковых результатов');
await page.waitForNavigation();
console.log('Получение элементов результата поиска');
const result = await page.$('.serp-item');
console.log('Сравнение ОР и ФР');
if (result === null) {
console.log('Результаты поиска не найдены');
} else {
console.log('Результаты поиска отобразились');
}
console.log('Закрытие браузера');
await browser.close();
}

Аватар пользователя

Степан Антонов, скорее всего

Аватар пользователя
Ученик

If мб надо на пробел сдвинуть на таб точнее