[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));