[node.js] Puppeteer waitFor() is not a function 에러 처리 방법
Puppeteer 버전 < 22.0
waitFor() 함수가 5.3.0 이상부터 waitForTimeout()으로 변경되었습니다.
코드를 waitFor(밀리세컨트)
-> waitForTimeout(밀리세컨드)
로 변경하면 됩니다.
const browser = await puppeteer.launch({headless:true})
const page = await browser.newPage();
await page.setViewport({width:1920,height:1080,deviceScaleFactor:page.devicePixelRatio});
try{
await page.goto(url, {waitUntil: 'networkidle2'});
}catch(e){
console.log(e)
}
page.waitForTimeout(500)
Puppeteer 버전 >= 22
Puppeteer 버전 22.0부터 waitForTimeout() 함수가 삭제되면서 watiForTimeout()을 사용하면 "is not a function" 에러가 발생합니다.
프로미스와 내장 함수인 setTimeout() 함수로 변경해서 사용해야 합니다.
다음처럼 프로미스를 사용해서 Puppeteer로 생성한 웹 페이지(page)를 setTimeout() 함수로 대기를 걸어줘야 합니다. 다른 지연처리 구현도 가능하지만 권장하는 방식이 프로미스를 사용하는 방식입니다.
await new Promise((page) => setTimeout(page, 500));