인프런 커뮤니티 질문&답변

Jerry님의 프로필 이미지
Jerry

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

크롤링 2 - Puppeteer

puppeteer 의 waitForTimeout 메소드 deprecated

해결된 질문

작성

·

2.2K

0

 안녕하세요.

puppeteer 에서 waitForTimeout 실행하면 deprecated 되었다고 합니다. 대신 어떤 메소드를 사용해야 할까요?

검색해보니 다양한게 있던데 waitForNetworkIdle(1000) 정도면 될까요?

 

https://stackoverflow.com/questions/46919013/puppeteer-wait-n-seconds-before-continuing-to-the-next-line

 

답변 2

3

저도 그거때문에 찾아봤는데

await new Promise((page) => setTimeout(page, 1000));

공식문서에는 이렇게 사용하라고 나와있었던 것 같습니다.

이거하면 (Page.navigate): Target closed 하면서 꺼지네요 .

그런가요... 위에 질문하신분 사진 봐도 replace에 저렇게 사용하라고 나와있는데...

해당 오류에 대해서는 puppeteer target closed error 검색하여 해결해 보세요.
https://stackoverflow.com/questions/51629151/puppeteer-protocol-error-page-navigate-target-closed 참고하실 만한 링크도 함께 전달드립니다.

1

안녕하세요. Jerry님

특정 시간 동안 대기하도록 하는 기능을 가진 어떠한 메서드를 사용하셔도 무방합니다.
또 waitForTimeout()는 아래의 코드 기능을 하도록 만들어진 메서드이므로 이를 사용하셔도 무방합니다.

await new Promise((page) => setTimeout(page, 1000));

Puppeteer 공식 문서에는 waitForSelector(), waitForFunction()을 사용하여, 원하는 조건을 기다릴 수 있게 하는 방법 또한 권장되고 있으니 참고해 보시길 바랍니다. 감사합니다.

Jerry님의 프로필 이미지
Jerry
질문자

감사합니다.

Jerry님의 프로필 이미지
Jerry

작성한 질문수

질문하기