> ## Documentation Index
> Fetch the complete documentation index at: https://www.octoparse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Octoparse CLI 문제 해결

> Octoparse CLI 인증, Chrome, 브라우저 프로필, 작업 실행, 차단 페이지 감지, Linux arm64 및 데이터 내보내기 오류를 해결하세요.

명령어가 실패했지만 원인을 알 수 없을 때 이 페이지를 참고하세요. 먼저 `octoparse doctor --json`을 실행해 환경의 구조화된 진단 결과를 확인하세요.

## 환경 진단

```bash theme={null}
octoparse doctor --json
octoparse browser status --json
```

`"ok": false`인 검사를 찾아 표시된 종속성 문제를 해결한 뒤 재시도하세요.

## 인증 오류

**`AUTH_REQUIRED` or `AUTH_INVALID`**

CLI가 유효한 자격 증명을 찾지 못했습니다. 다음을 실행하세요.

```bash theme={null}
octoparse auth login
octoparse auth status --json
```

CI 환경에서는 `OCTO_ENGINE_API_KEY` 또는 `OCTO_ENGINE_ACCESS_TOKEN`이 설정되어 있고 만료되지 않았는지 확인하세요.

**API 키가 저장되지 않음**

CLI는 저장하기 전에 키를 검증합니다. 키가 거부되면 [Octoparse 콘솔](https://www.octoparse.kr/console/account-center/api-keys)에서 활성 상태인지 확인하세요. `--stdin`을 사용한다면 키 앞뒤에 불필요한 공백이나 줄바꿈이 없는지 확인하세요.

**OAuth 세션 만료**

토큰을 갱신하려면 `octoparse auth login --oauth`를 다시 실행하세요.

## Chrome 및 브라우저 오류

**Chrome 다운로드 실패**

CLI는 CDN에서 Chrome for Testing을 자동으로 다운로드합니다. 다운로드에 실패하면 다음을 확인하세요.

* 네트워크, 프록시 또는 VPN 설정을 확인합니다.
* 로컬에 설치된 Chrome을 사용합니다: `octoparse doctor --chrome-path /path/to/chrome`
* Linux 서버에서는 CDN에 연결할 수 있는지 확인한 뒤 재시도합니다.

**`LINUX_ARM64_UNSUPPORTED`**

Linux arm64에서는 로컬 추출(`run`, `detect`)이 지원되지 않습니다. Chrome for Testing은 Linux arm64 패키지를 제공하지 않습니다.

해결 방법:

* Linux x64 환경 또는 컨테이너를 사용합니다.
* 대신 클라우드 추출을 사용합니다: `octoparse cloud start <taskId>`.

**Linux 서버에서 Chrome 실행 실패**

디스플레이가 없는 헤드리스 Linux 서버에서 비수동 모드의 `detect`는 Xvfb가 있으면 자동으로 사용합니다. 필요하면 다음과 같이 설치하세요.

```bash theme={null}
apt-get install -y xvfb
```

수동 감지(`--manual`)에는 대화형 디스플레이가 필요합니다. Linux에서 수동 워크플로를 사용할 때는 데스크톱 또는 VNC 세션을 이용하세요.

## 작업 및 실행 오류

**`TASK_INVALID` or exit code 3**

작업이 CLI v1에서 지원하지 않는 커널 브라우저 또는 레거시 워크플로를 사용합니다. 최신 Octoparse 데스크톱 앱에서 작업을 다시 만든 뒤 다음 명령어로 검증하세요.

```bash theme={null}
octoparse task validate <taskId>
```

**로컬 실행이 이미 진행 중**

작업 ID당 한 번에 하나의 로컬 실행만 활성화할 수 있습니다. 먼저 기존 실행을 중지하세요.

```bash theme={null}
octoparse local stop <taskId>
octoparse local cleanup
```

**분리 실행이 유실되었거나 오래됨**

고립된 실행 상태를 정리하세요.

```bash theme={null}
octoparse local cleanup
```

그런 다음 기록을 확인하세요.

```bash theme={null}
octoparse local history <taskId>
```

**실행은 완료되었지만 데이터가 보이지 않음**

내보내기 소스를 확인하세요. 로컬 데이터와 클라우드 데이터는 별도로 관리됩니다.

```bash theme={null}
octoparse data history <taskId> --source local --json
octoparse data history <taskId> --source cloud --json
```

추출할 때 `--output ./runs`를 사용했다면 기록 조회와 내보내기에도 같은 경로를 전달하세요.

```bash theme={null}
octoparse data history <taskId> --source local --output ./runs
octoparse data export <taskId> --source local --output ./runs --format xlsx
```

## 내보내기 오류

**`UNSUPPORTED_EXPORT_FORMAT`**

지원 형식은 `xlsx`, `csv`, `html`, `json`, `xml`입니다. `--format` 값을 확인하세요.

**내보낸 파일이 비어 있음**

내보내기 전에 작업이 행을 수집했는지 확인하세요. 로컬 실행 기록을 조회합니다.

```bash theme={null}
octoparse local history <taskId> --json
```

가장 최근 실행 항목에서 `savedRows > 0`인지 확인하세요.

## 감지 오류

**`DETECT_PAGE_BLOCKED`**

CLI가 대상 페이지를 CAPTCHA, 보안 확인, 접근 제한 또는 서비스 오류 페이지로 식별했습니다. 결과 파일이 인증 또는 오류 화면을 대상으로 생성되지 않도록 작업 생성 전에 중지합니다.

* CAPTCHA 또는 접근 제한을 해결한 뒤 재시도합니다.
* 필요한 상호작용을 브라우저에서 완료할 수 있다면 `--manual`을 사용합니다.
* 현재 URL이 항상 차단 페이지로 리디렉션된다면 직접 접근 가능한 URL을 제공합니다.

**`DETECT_FAILED` or no candidates found**

페이지가 자동 접근을 차단했거나 로그인 화면을 표시했거나 콘텐츠를 동적으로 불러왔을 수 있습니다. 다음을 시도하세요.

* `--manual`로 로그인 또는 팝업을 직접 처리합니다.
* `--goal`로 CLI에 더 명확한 추출 대상을 지정합니다.
* 에이전트 컨텍스트(`context.screenshot.path`)에서 생성된 스크린샷을 확인합니다.

**`LOGIN_SESSION_REQUIRED`**

세션 저장과 함께 수동 감지를 사용하세요.

```bash theme={null}
octoparse detect <url> --manual --save-session --session-name my-session
```

## 도움받기

자세한 사용법은 `octoparse --help` 또는 `octoparse <command> --help`를 실행해 확인하세요.

환경 문제를 문의할 때는 `octoparse doctor --json` 출력을 Octoparse 지원팀에 전달하세요.

<Card title="Octoparse 지원팀에 문의" href="https://www.octoparse.kr/contact">
  CLI 버전(`octoparse --version`)과 `octoparse doctor --json` 출력을 포함하세요.
</Card>
