Идентичная ошибка сохраняется несмотря на удаление или изменение оскорбительного кода
Привет,
Я работал над приложением в node.js использование express.js и ряд других инструментов. Недавно я пытался справиться с распространенной ошибкой, которая может привести к этому, и при этом я получал конкретную ошибку, которая, находясь в терминале, ссылается на конкретное свойство, которое я использую (innerText) в определенной строке (102).
(node:18517) UnhandledPromiseRejectionWarning: Error: Evaluation failed: TypeError: Cannot read property 'innerText' of null at <anonymous>:1:102 at ExecutionContext.evaluateHandle (/root/node_modules/puppeteer/lib/ExecutionContext.js:88:13) at process._tickCallback (internal/process/next_tick.js:68:7)
Вот оригинальный оскорбительный код, имейте в виду, что ошибка выше остается даже тогда, когда я удаляю ее и повторно запускаю приложение.
const availability = await page.evaluate(() => { const availabilityText = document.querySelector('.errorClass .errorClass') return availabilityText ? availabilityText.innerText : "error"; });
Что я уже пробовал:
Я внес радикальные изменения в код. В temped обрабатывать ошибку по-разному. Добавленные и удаленные строки. Не используется внутренний текст нигде рядом с указанной строкой. Он все еще выплевывает ту же ошибку
Patrice T
И вы планируете показать свой код ?
DFNCTSC
Многое из этого является собственностью компании. Я добавлю немного в ближайшее время, когда смогу.
Однако, насколько вам известно, есть ли какая-либо причина для того, чтобы узел возвращал одну и ту же ошибку об одном и том же свойстве в одной и той же строке, даже если были внесены изменения. В том числе удаление ссылочных строк, их перемещение и т. д.
редактировать:
const availability = await page.evaluate(() => { const availabilityText = document.querySelector('.errorClass .errorClass') return availabilityText ? availabilityText.innerText : "error"; });
Вот код, который должен был быть оригинальным оскорбительным кодом.
Этот скрипт использует puppeteer/headless chrome. Я зашел на страницу, на которую переходит приложение, сделал скриншот через приложение и проверил, что он находится на правильной странице, а также протестировал вышеприведенную функцию и подтвердил, что селектор выше существует, а также существует на скриншоте, сделанном приложением.
Имейте в виду, что я могу удалить приведенный выше код и получить ту же самую ошибку, о которой упоминалось ранее, точно такую же ошибку.