отладка кукловода: нахождение какой строки вызывает ошибку - PullRequest
0 голосов
/ 03 октября 2018

, поэтому я запускаю бота кукловода (robot.js) в цикле каждые x секунд, чтобы открыть вкладку, захватить некоторые данные со страницы и закрыть вкладку .... до следующего цикла

, чтобы он работалхорошо, и я вижу журнал данных в консоли, но каждый раз, когда я получаю

opening page  1 -> ok 
    (node:11867) UnhandledPromiseRejectionWarning: Error: Protocol error (Runtime.callFunctionOn): Session closed. Most likely the page has been closed.
        at CDPSession.send (/home/hostname/domains/example.com/robot/node_modules/puppeteer/lib/Connection.js:189:29)
        at ExecutionContext.evaluateHandle (/home/hostname/domains/example.com/robot/node_modules/puppeteer/lib/ExecutionContext.js:89:75)
        at ElementHandle.$ (/home/hostname/domains/example.com/robot/node_modules/puppeteer/lib/ElementHandle.js:272:50)
        at Frame.$ (/home/hostname/domains/example.com/robot/node_modules/puppeteer/lib/FrameManager.js:357:34)
    (node:11867) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 4)
    (node:11867) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

opening page  2 -> ok 
bot done successfully ... closing tab for the next loop 

, как вы можете видеть, я получаю сообщение об ошибке, сообщающее, что сессия закрылась в середине процесса .... странная вещь в том, чтоцикл завершен успешно и работает без проблем

Я не знаю, что это за причина и почему

, так что вот мой вопрос .... есть ли способ получить больше информации окакая строка вызывает (или имеет какое-либо отношение) эту ошибку и где это происходит в robot.js?

все, что я вижу в стеке ошибок, ссылается на внутренние модули кукловода, что в данном случае для меня бесполезно

1 Ответ

0 голосов
/ 08 октября 2018

Введен Puppeteer 1.9.0 Асинхронные стеки - Теперь ошибка должна указывать на фактическую строку в вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...