24.09.26 17:10 작성
·
38
0
안녕하세요.. 5-1 페이스북 로그인/로그아웃 관련 강의를 따라 하고 있습니다.
puppeteer의 page를 이용해서 로그인 버튼까지는 클릭해서 실행까지는 되는 것 같습니다.
그래서 로그인 버튼 클릭후에 사용자에게 로그인 승인 알람 메시지를 처리해야 실질적인 로그인 페이지로 넘어가고 있는 상황입니다. 이럴경우 강의 시간에 알려주신 방법들은 대부분이 타임아웃 오류가 발생합니다.
이 부분을 어떻게 해결해야 할지 방법을 알려 주시면 좋겠습니다. 강의 내용의 모습이랑. 현재시점의 페이스북이 달라서 수정하는 것이 초보자에게는 어렵네요..
답변 2
0
2024. 09. 26. 18:16
만약 단순히 타임아웃을 늘려서 해결할 수 있다면 대부분은 두 번째 인수로 타임아웃 옵션을 제공합니다.
page.waitForSelector(선택자, { timeout: 30_000 }) 밀리세컨드 단위라 30이 아니라 30000입니다. 타임아웃으로 해결되는 문제가 아니라면 알려주세요
2024. 09. 26. 18:28
프로그램적으로 처리하는 방법이 없을까요? 강의시간에 알려주신 것처럼... 무작정 10초를 기다리기 보다는 어떤 이벤트를 기반으로 확인하는 방법을 알려주신 것처럼요...저는 초보라서 잘모르지만...
2024. 09. 26. 21:10
이메일이 온다면 이메일을 열어서 인증 버튼을 누르는 것까지 퍼페티어로 자동화할 수는 있겠습니다만 여전히 페이스북에서는 기다리고있어야 하는 게 맞습니다.
2024. 09. 27. 02:14
한가지 더 문의 드립니다.
얘기해주신대로 waiforSelector를 이용해서 로그아웃 메뉴가 있는 내 프로필관련 요소가 표시될때 까지 최대 10분을 대기하도록해서 테스트 했더니, 더이상 타임아웃으로 인한 오류는 발생안하는 것 같습니다. 지금까지 테스트로는..
그런데 문제는 로그인 버튼을 클릭한 후 2단계 인증을 진행한 후에는, 해당브라우저를 신뢰하는 기기로 등록하겠냐라는 페이지가 또 나타나는데, 이 부분을 그냥 스킵하고 넘어가게 만들 수 없을까요? 이 페이지에서 머물다 보면, 로그인된 페이스북 페이지가 나오지 않아서 또 문제가 될 것 같은데... 지금은 재빨리 등록하라고 버튼 클릭을 하고 있지만.., 이러한 신뢰하는 기기로 등록하는 페이지가 매번 나타나는 것인지, 아닌지도 모르겠습니다. 이런 부분은 어떻게 처리해야 하는지 조언 부탁드립니다.
2024. 09. 27. 11:18
페이스북은 보통 자기한테 로그인 한 기기/브라우저를 기록하고 있는데요. 퍼페티어 같은 브라우저를 처음 봐서 뜨는 것입니다. 저건 보통 한 번은 뜰 수 있고 다음 번에 안 뜨는 경우가 많은데, 만약 매번 퍼페티어를 다른 브라우저로 인식한다면 매번 뜰 것입니다. 매번 뜬다면 자동화할 수 있고, 한 번만 뜬다고 해도 try/catch문 안에서 저 페이지가 떴나를 검사해서 다음으로 넘어가게 할 수 있습니다.
0
안녕하세요, 인프런 AI 인턴입니다, 산마로님.
페이스북 로그인 프로세스가 변경되어, 로그인 승인 알람 메시지를 처리하는 부분에서 어려움이 있으신 것 같습니다. 유사한 문제를 다룬 질문과 답변을 참고하시면 도움이 될 것 같습니다.
await page.waitForSelector
사용 예제입니다. 로그인 승인 알람 메시지를 기다린 후, 해당 버튼을 클릭하는 식으로 적용할 수 있습니다.이 예제들은 puppeteer를 사용하여 동적으로 변하는 페이스북 페이지 요소를 처리하는 방법에 대해 자세히 설명하고 있습니다.
마지막으로, 페이스북 로그인 승인이 완료될 때까지 기다린 후, 해당 요소를 클릭하는 코드 예제를 추가로 작성해 보았습니다:
await page.waitForSelector('.classname_of_approval_button'); // 실제 승인 버튼의 클래스 이름으로 변경 필요
await page.click('.classname_of_approval_button');
이 코드를 통해 페이지가 반응할 때까지 기다리고, 로그인 승인 버튼을 클릭하여 다음 단계로 진행할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
2024. 09. 26. 18:20
로그인 2단계 인증이 문제인 것 같습니다. 이메일로 인증번호를 받는 경우 경우에 따라서는 이메일이 오는데 시간이 오래 걸리더라구요... 그리고 제 핸드폰 단말로는 인증 메시지가 처음에는 서네번 오다가 지금은 오지를 않고 있습니다. 이런 경우 timeout을 약 1시간 정도로 설정해 두면 될까요?