Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Дарья Михайлова Ученик (162), на голосовании 1 год назад
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();
Голосование за лучший ответ
Оракул Оракул (62095) 1 год назад
Какую ошибку-то
Дарья МихайловаУченик (162) 1 год назад
как я и написала "неверная конструкция if" . Не знаю в чем ошибка. переписывала селекторы и значения ничего не помогает((((((
Оракул Оракул (62095) Дарья Михайлова, мда, может проверяющая система глючит ошибок нет вроде, только точки с запятой не хватает после лог в элс, но это не критично
REFT CS GO Яичкин Ученик (232) 1 год назад
If мб надо на пробел сдвинуть на таб точнее
Степан Антонов Ученик (130) 1 год назад
Ошибка возникает из-за того, что вы используете несуществующую переменную 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 перед ним.
Александр Парсаданов Гуру (3062) 1 год назад
Степан Антонов, скорее всего
Михаил Smailov Ученик (198) 1 год назад
Проверено.

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();
}
Александра Никитина, Дкао-31Ученик (201) 1 год назад
выдал логи "Метод goto объекта page вызывается с неверным аргументом."
Похожие вопросы