Скрипт Puppeteer внезапно перестал работать после обновления Puppeteer

У меня есть сценарий кукольника, который я запускаю, чтобы перезагрузить модем. Я думаю, это проработало около года без проблем. 5 дней назад перестал работать. Я изучал это и понял, что получаю ошибки, которые раньше не возникал при его запуске, и сценарий не работает. Дело в том, что я ничего не менял. Насколько я понимаю, HTML тоже не изменился, но он не работает. Так что мне интересно, есть ли ошибка в хроме или кукловоде или он как-то по-другому справляется с вещами?

Вот код с https://codepen.io/michaelbierman/pen/qQjdYR

  1. HTML-страница
  2. кукловод

ошибки

ERROR OUTPUT

Четверг, 15.11.2018, 11:14:04, Вход ... Необработанное отклонение в: Promise (новая страница) Promise {Ошибка: для селектора не найден узел: #id_username в assert (/ Users / bierman / Documents / Applications / bin /arris/node_modules/puppeteer/lib/helper.js:278:11) в Frame.type (/Users/bierman/Documents/Applications/bin/arris/node_modules/puppeteer/lib/FrameManager.js:771:5) в в process._tickCallback (internal / process / next_tick.js: 188: 7) - ASYNC - в кадре. (/Users/bierman/Documents/Applications/bin/arris/node_modules/puppeteer/lib/helper.js:144:27) в Page.type (/ Users / bierman / Documents / Applications / bin / arris / node_modules / puppeteer / lib / Page.js: 971: 29) в /Users/bierman/Documents/Applications/bin/arris/arristest.js:49:13 в process._tickCallback (internal / process / next_tick.js: 188: 7)} причина: Ошибка: не найден узел для селектора: #id_username в assert (/Users/bierman/Documents/Applications/bin/arris/node_modules/puppeteer/lib/helper.js:278:11) в Frame.type (/ Users / bierman / Documents / Applications / bin / arris / node_modules / puppeteer / lib / FrameManager.js: 771: 5) в process._tickCallback (internal / process / next_tick.js: 188: 7) - ASYNC - в Frame. (/Users/bierman/Documents/Applications/bin/arris/node_modules/puppeteer/lib/helper.js:144:27) в Page.type (/ Users / bierman / Documents / Applications / bin / arris / node_modules / puppeteer / lib / Page.js: 971: 29) в /Users/bierman/Documents/Applications/bin/arris/arristest.js:49:13 в process._tickCallback (internal / process / next_tick.js: 188: 7) / Пользователи / bierman / Documents / Applications / bin / arris / arristest.js: 29 browser.close (); ^

ReferenceError: браузер не определен в process.on (/Users/bierman/Documents/Applications/bin/arris/arristest.js:29:2) в emitTwo (events.js: 126: 13) в process.emit (events. js: 214: 7) в emitPendingUnhandledRejection (internal / process / promises.js: 108: 22) в process._tickCallback (internal / process / next_tick.js: 189: 7) BigMac: bin michael $ / usr / local / bin / узел /Users/bierman/Documents/Applications/bin/arris/arristest.js четверг 15.11.2018 11:20:29, логин ... четверг 15.11.2018 11:20:36, иди на главную .. . Необработанное отклонение в: Promise (новая страница) Promise {Ошибка: не найден узел для селектора: #alertExitButton в assert (/Users/bierman/Documents/Applications/bin/arris/node_modules/puppeteer/lib/helper.js:278: 11) в Frame.click (/Users/bierman/Documents/Applications/bin/arris/node_modules/puppeteer/lib/FrameManager.js:704:5) в process._tickCallback (internal / process / next_tick.js: 188: 7) - ASYNC - в кадре. (/Users/bierman/Documents/Applications/bin/arris/node_modules/puppeteer/lib/helper.js:144:27) на странице Page.click (/ Users / bierman / Documents / Applications / bin / arris / node_modules / puppeteer / lib / Page.js: 932: 29) в /Users/bierman/Documents/Applications/bin/arris/arristest.js:62:13 в process._tickCallback (internal / process / next_tick.js: 188: 7)} причина: Ошибка: для селектора не найден узел: #alertExitButton в assert (/Users/bierman/Documents/Applications/bin/arris/node_modules/puppeteer/lib/helper.js:278:11) в Frame.click (/ Users / bierman / Documents / Applications / bin / arris / node_modules / puppeteer / lib / FrameManager.js: 704: 5) в process._tickCallback (internal / process / next_tick.js: 188: 7) - ASYNC - во фрейме. (/Users/bierman/Documents/Applications/bin/arris/node_modules/puppeteer/lib/helper.js:144:27) на странице Page.click (/ Users / bierman / Documents / Applications / bin / arris / node_modules / puppeteer / lib / Page.js: 932: 29) в /Users/bierman/Documents/Applications/bin/arris/arristest.js:62:13 в process._tickCallback (internal / process / next_tick.js: 188: 7) / Пользователи / bierman / Documents / Applications / bin / arris / arristest.js: 29 browser.close (); ^

ReferenceError: браузер не определен в process.on (/Users/bierman/Documents/Applications/bin/arris/arristest.js:29:2) в emitTwo (events.js: 126: 13) в process.emit (events. js: 214: 7) в emitPendingUnhandledRejection (internal / process / promises.js: 108: 22) в process._tickCallback (internal / process / next_tick.js: 189: 7)


person Michael Bierman    schedule 15.11.2018    source источник
comment
Это может показаться немного очевидным, но если вы обновили свою puppeteer версию и видите это только после обновления, пытались ли вы удалить свою node_modules папку, package-lock.json файл, а затем повторно установить зависимости вашего проекта (включая обновленную версию puppeteer) из поцарапать с помощью npm install? Часто может устранить такие странные ошибки.   -  person AJC24    schedule 16.11.2018
comment
Спасибо! Отличное предложение. Я попробую и посмотрю, что получится.   -  person Michael Bierman    schedule 16.11.2018
comment
Дай мне знать, как у тебя дела. Постараюсь работать с вами над этим вопросом, если он все еще не решен.   -  person AJC24    schedule 16.11.2018
comment
Я удалил указанные вами файлы и переустановил. По ходу дела у меня было несколько ошибок, но, похоже, все работает лучше. Я не знаю, стоит ли мне беспокоиться об этих ошибках pastebin.com/R48Nrv44   -  person Michael Bierman    schedule 17.11.2018
comment
Похоже, у узла нет необходимых разрешений. У меня это было на моем Mac, и мне пришлось вручную изменить каталог узла на домашний каталог моих пользователей, чтобы решить эту проблему. В противном случае документы узла могут помочь (надеюсь). Вы должны посмотреть здесь, чтобы попытаться решить вашу проблему: docs.npmjs.com/   -  person AJC24    schedule 17.11.2018


Ответы (1)


Попробуй это:

npm uninstall chromium
npm uninstall puppeteer
npm i chromium@1
npm i puppeteer
person Dadmand    schedule 05.04.2020
comment
Добро пожаловать в stackoverflow. Я предлагаю вам написать немного о своем предложении, не должно быть много, достаточно, чтобы объяснить, что вы делаете и почему вы думаете, что это решает проблему, чтобы любой будущий читатель мог легко понять ваше решение. Кроме того, вы можете взглянуть на Как отвечать, чтобы получить дополнительные сведения о написании хороших ответов. - person mmgross; 07.04.2020