작성
·
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’ 부분에서 정지하는 문제는 몇 가지 원인으로 발생할 수 있으며, 이를 해결하기 위해 다음과 같은 점들을 확인해보는 것이 좋습니다:
JavaScript 오류 확인: mcp_playwright_browser_evaluate 함수 내부에서 실행되는 JavaScript 코드가 오류를 발생시키는지 확인해보세요. 웹 페이지의 콘솔에서 코드를 직접 실행해보고 어떤 오류 메시지가 나오는지 체크해볼 수 있습니다.
올바른 셀렉터 사용: 해당 웹 페이지의 구조가 변경되었다면 table[summary="종목 토론 게시판"]
셀렉터가 더 이상 유효하지 않을 수 있습니다. 개발자 도구(F12)를 사용하여 해당 요소가 여전히 올바르게 선택되는지 확인해보세요.
페이지 로딩 시간: 종종 페이지나 특정 요소가 로딩되는 데 시간이 걸리면서 오류가 발생할 수 있습니다. 이를 위해 MCP 내에서 적절한 대기 시간(예: page.waitForSelector
)을 추가하여 요소가 로드될 때까지 대기하도록 설정할 수 있습니다.
콘솔 로깅: 디버깅을 용이하게 하기 위해 함수 내부의 코드를 수정하여 console.log
를 사용하여 데이터 추출 과정의 중간 단계에서 데이터가 올바르게 수집되고 있는지 확인하는 것이 좋습니다.
위의 방법들을 적용해 보신 후에도 문제가 지속된다면, 더 상세한 로그나 오류 메시지를 공유해주시면 추가적인 도움을 드릴 수 있도록 하겠습니다.
추가적으로, Playwright와 MCP 관련 자료를 확인하거나 질문 사항이 있으시면 아래 링크를 활용하여 더 많은 정보를 얻을 수 있습니다:
문제가 해결되기를 바랍니다.
감사합니다!