Inflearn brand logo image

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

SR님의 프로필 이미지
SR

작성한 질문수

모두를 위한 MCP를 이용한 업무자동화 - 다양한 사례로 배우는 MCP(Model Context Protocol) 활용 (feat. Cursor)

Playwright MCP를 활용해서 네이버 주식 종목토론실 게시글 크롤링하기

playwright mcp로 종목토론방 내용 추출

작성

·

18

·

수정됨

0

안녕하세요, playwright mcp 내용 중 cursor 진행이 안 되는 부분이 있어서 문의드립니다.

==========================

죄송합니다! 제가 잘못된 함수를 사용했네요. MCP Playwright 브라우저에서 JavaScript를 실행하려면 mcp_playwright_browser_evaluate 함수를 사용해야 합니다. 다시 올바르게 시도해보겠습니다.

 

네, 계속하겠습니다! 올바른 함수로 JavaScript를 실행해서 데이터를 추출하겠습니다.

 

==========================

 

이렇게 뜨고 계속 Calling browser_evaluate에 멈춰있어요.

Parameters:에는 이렇게 있습니다.

{
  "function": "() => {\n  // 게시판 테이블에서 데이터 추출\n  const table = document.querySelector('table[summary=\"종목 토론 게시판\"]');\n  if (!table) {\n    return { error: \"게시판 테이블을 찾을 수 없습니다.\" };\n  }\n  \n  const rows = table.querySelectorAll('tr');\n  const data = [];\n  \n  // 헤더 행을 건너뛰고 데이터 행만 처리\n  for (let i = 1; i < rows.length; i++) {\n    const row = rows[i];\n    const cells = row.querySelectorAll('td');\n    \n    // 빈 행이나 특수 행은 건너뛰기\n    if (cells.length < 6) continue;\n    \n    // 날짜, 제목, 글쓴이, 조회, 추천, 비추천 데이터 추출\n    const date = cells[0]?.textContent?.trim() || '';\n    const title = cells[1]?.textContent?.trim() || '';\n    const author = cells[2]?.textContent?.trim() || '';\n    const views = cells[3]?.textContent?.trim() || '';\n    const likes = cells[4]?.textContent?.trim() || '';\n    const dislikes = cells[5]?.textContent?.trim() || '';\n    \n    // 빈 데이터가 아닌 경우만 추가\n    if (date && title && author) {\n      data.push({\n        날짜: date,\n        제목: title,\n        글쓴이: author,\n        조회: views,\n        공감: likes,\n        비공감: dislikes\n      });\n    }\n  }\n  \n  return {\n    totalCount: data.length,\n    data: data\n  };\n}"
}

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
SR님, Playwright와 MCP를 사용하여 종목토론방의 내용을 추출하려고 할 때 발생하는 문제를 해결하는 데 도와드리겠습니다.

현재 설명해주신 상황에서 ‘Calling browser_evaluate’ 부분에서 정지하는 문제는 몇 가지 원인으로 발생할 수 있으며, 이를 해결하기 위해 다음과 같은 점들을 확인해보는 것이 좋습니다:

  1. JavaScript 오류 확인: mcp_playwright_browser_evaluate 함수 내부에서 실행되는 JavaScript 코드가 오류를 발생시키는지 확인해보세요. 웹 페이지의 콘솔에서 코드를 직접 실행해보고 어떤 오류 메시지가 나오는지 체크해볼 수 있습니다.

  2. 올바른 셀렉터 사용: 해당 웹 페이지의 구조가 변경되었다면 table[summary="종목 토론 게시판"] 셀렉터가 더 이상 유효하지 않을 수 있습니다. 개발자 도구(F12)를 사용하여 해당 요소가 여전히 올바르게 선택되는지 확인해보세요.

  3. 페이지 로딩 시간: 종종 페이지나 특정 요소가 로딩되는 데 시간이 걸리면서 오류가 발생할 수 있습니다. 이를 위해 MCP 내에서 적절한 대기 시간(예: page.waitForSelector)을 추가하여 요소가 로드될 때까지 대기하도록 설정할 수 있습니다.

  4. 콘솔 로깅: 디버깅을 용이하게 하기 위해 함수 내부의 코드를 수정하여 console.log를 사용하여 데이터 추출 과정의 중간 단계에서 데이터가 올바르게 수집되고 있는지 확인하는 것이 좋습니다.

위의 방법들을 적용해 보신 후에도 문제가 지속된다면, 더 상세한 로그나 오류 메시지를 공유해주시면 추가적인 도움을 드릴 수 있도록 하겠습니다.

추가적으로, Playwright와 MCP 관련 자료를 확인하거나 질문 사항이 있으시면 아래 링크를 활용하여 더 많은 정보를 얻을 수 있습니다:

Inflearn FAQ

문제가 해결되기를 바랍니다.
감사합니다!

SR님의 프로필 이미지
SR

작성한 질문수

질문하기