본문으로 건너뛰기

문제 해결

BotManager Browser Agent 사용 시 발생할 수 있는 일반적인 문제와 해결 방법을 안내합니다.

일반적인 문제

BotManager 객체가 로드되지 않음

증상: window.BotManagerundefined입니다.

원인:

  • 스크립트가 아직 로드되지 않았습니다.
  • 스크립트 경로가 잘못되었습니다.
  • 네트워크 오류가 발생했습니다.

해결 방법:

  1. 스크립트 로드 확인:
// 스크립트 로드 확인
if (typeof window.BotManager === 'undefined') {
console.error('BotManager가 로드되지 않았습니다.');
}
  1. 스크립트 경로 확인:
<!-- 올바른 스크립트 경로 확인 -->
<script src="{{ AGENT_URL }}/agents/client/javascript/botmanager-browser-agent.js" async></script>
  1. 네트워크 탭에서 스크립트 로드 확인:
    • 브라우저 개발자 도구의 Network 탭에서 botmanager-browser-agent.js 파일이 성공적으로 로드되었는지 확인합니다.

detectPage 함수가 작동하지 않음

증상: BotManager.detectPage()를 호출해도 아무 반응이 없습니다.

원인:

  • BotManager 객체가 아직 초기화되지 않았습니다.
  • 스크립트가 비동기로 로드되어 아직 준비되지 않았습니다.

해결 방법:

// 스크립트 로드 대기 후 사용
function waitForBotManager(callback) {
if (window.BotManager && typeof window.BotManager.detectPage === 'function') {
callback();
} else {
setTimeout(() => waitForBotManager(callback), 100);
}
}

waitForBotManager(() => {
BotManager.detectPage('/api/login-endpoint', (result) => {
performLogin();
});
});

탐지 요청이 전송되지 않음

증상: 페이지 로드 시 자동 탐지가 작동하지 않습니다.

원인:

  • cfg.detectOnLoadfalse로 설정되어 있습니다.
  • 네트워크 타임아웃이 발생했습니다.

해결 방법:

  1. 설정 확인:
// detectOnLoad 설정 확인
(function(cfg) {
cfg.detectOnLoad = true; // 자동 탐지 활성화
})(window['BotManager-config'] || (window['BotManager-config'] = {}));
  1. 네트워크 타임아웃 증가:
cfg.networkTimeout = 5000; // 타임아웃 시간 증가

Server-Side Agent와 연동이 안 됨

증상: 서버에서 x-botmanager-location 헤더를 보냈지만 리디렉션이 발생하지 않습니다.

원인:

  • Browser Agent가 로드되지 않았습니다.
  • 헤더 이름이 잘못되었습니다 (대소문자 구분).

해결 방법:

  1. Browser Agent 로드 확인:
if (window.BotManager) {
console.log('Browser Agent가 로드되었습니다.');
}
  1. 헤더 이름 확인:
    • 서버에서 x-botmanager-location (소문자)로 헤더를 전송해야 합니다.

개발자 도구 탐지가 작동하지 않음

증상: 개발자 도구를 열어도 탐지되지 않습니다.

원인:

  • cfg.detectDevToolsfalse로 설정되어 있습니다.

해결 방법:

cfg.detectDevTools = true; // 개발자 도구 탐지 활성화

추가 지원

문제가 해결되지 않으면 다음을 확인하세요:

  1. 브라우저 콘솔에서 에러 메시지 확인
  2. Network 탭에서 요청/응답 확인
  3. BotManager 콘솔에서 설정 확인