我正在创建在AWS Lambda函数上运行的抓取,但是当我在站点上键入查询时,它会触发一个错误,我无法在本地环境中重现该错误。有谁知道会是什么?
代码:
query: async (name, birthDate, cpf) => {
logger.info('QUERY_PARAMS_AP', '', [name, birthDate, cpf]);
try {
await page.waitFor(5000);
await page.type('input[id="formNome"]', name);
await page.type('input[id="formDataDeNascimento"]', birthDate);
await page.type('input[id="formCpf"]', cpf);
...
在page.type方法中触发了错误。
以下触发错误:
{ Error: Protocol error (Input.dispatchKeyEvent): Target closed.
at Promise (/var/task/node_modules/puppeteer-core/lib/Connection.js:183:56)
at new Promise (<anonymous>)
at CDPSession.send (/var/task/node_modules/puppeteer-core/lib/Connection.js:182:12)
at Keyboard.up (/var/task/node_modules/puppeteer-core/lib/Input.js:137:24)
at Keyboard.<anonymous> (/var/task/node_modules/puppeteer-core/lib/helper.js:112:23)
at Keyboard.press (/var/task/node_modules/puppeteer-core/lib/Input.js:180:16)
-- ASYNC --
at Keyboard.<anonymous> (/var/task/node_modules/puppeteer-core/lib/helper.js:111:15)
at Keyboard.type (/var/task/node_modules/puppeteer-core/lib/Input.js:162:20)
-- ASYNC --
at Keyboard.<anonymous> (/var/task/node_modules/puppeteer-core/lib/helper.js:111:15)
at ElementHandle.type (/var/task/node_modules/puppeteer-core/lib/JSHandle.js:363:31)
-- ASYNC --
at ElementHandle.<anonymous> (/var/task/node_modules/puppeteer-core/lib/helper.js:111:15)
at DOMWorld.type (/var/task/node_modules/puppeteer-core/lib/DOMWorld.js:422:18)
-- ASYNC --
at Frame.<anonymous> (/var/task/node_modules/puppeteer-core/lib/helper.js:111:15)
at Page.type (/var/task/node_modules/puppeteer-core/lib/Page.js:1103:29)
at Object.query (/var/task/sources/AP/scraping.js:102:18)
message: 'Protocol error (Input.dispatchKeyEvent): Target closed.' } }