# 액션스크립트

## 액션스크립트란?

액션스크립트는 단순히 보이는 화면을 추출하는 것을 넘어, **사용자가 직접 자바스크립트(JavaScript) 코드를 작성해 추출 과정을 제어할 수 있는 고급 기능**입니다.

<figure><img src="/files/ROcmnELvMoKMYNVjya2p" alt=""><figcaption></figcaption></figure>

예시)

* 특정 버튼을 클릭한 후 나타나는 섹션 안의 데이터 추출
* 마우스오버 했을 때 나타나는 영역 안의 데이터 추출
* 기타 사이트 내에서 동적으로 변하는 요소들을 제어한 후 데이터 수집

위와 같이 일반적인 리스틀리 자동화 설정으로는 해결하기 어려운 **특수한 상황의 데이터 추출을 커스터마이징**할 수 있습니다.

{% hint style="warning" %}
액션 스크립트 작성 서비스는 **엔터프라이즈 플랜 전용 옵션 상품**입니다. 하위 플랜을 이용 중이라면, 직접 스크립트를 작성해 기능을 활용하실 수 있습니다.
{% endhint %}

***

## 사용방법

{% stepper %}
{% step %}

### 웹페이지를 **\[전체 추출]**&#xD55C; 후, 결과 페이지의 \[Browser Setting] 구간을 클릭해 해당 태스크의 설정 화면으로 이동합니다.

<figure><img src="/files/jE04XHmDznVkyPDuGmKL" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### 설정 화면의 액션스크립트 란에 작성한 JS코드를 붙여넣고 **\[저장]** 버튼을 클릭합니다.

{% hint style="success" %}
**TIP** 요즘은 Chat GPT 같은 AI 서비스로 간단한 스크립트를 작성해볼 수도 있습니다. 리스틀리 팀이 실제로 챗GPT를 활용해 액션스크립트를 생성해본 경험을 뉴스레터로 공유했으니, 참고해보세요. \
👉[ 액션스크립트, 챗GPT에게 대신 작성해달라고 해봤더니 “이게 되네?”](https://maily.so/listly.io/posts/knrje7v0zld)
{% endhint %}

<figure><img src="/files/UkhdXrx44kNeuiqwpqvk" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### 결과창 혹은 데이터보드의 **\[재추출]** 버튼을 클릭하여 액션스크립트를 통한 데이터 영역을 재추출합니다.

<figure><img src="/files/gg829Q5l8eOcjURp39pj" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### 재추출이 완료된 후 결과를 확인합니다. 설정한 액션스크립트가 의도대로 동작했는지 반드시 검증하세요.

<figure><img src="/files/N0Bc60UNUAnsl4dv9UM6" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

## 주의사항

{% hint style="warning" %}

#### 그룹추출 태스크에 액션스크립트 적용시 주의사항

액션스크립트는 반드시 그룹추출 전 소스 페이지에서 먼저 적용해주셔야 합니다. 그룹추출은 대표 페이지(소스 페이지)를 기준으로 다른 URL들을 같은 구조라고 가정하고 데이터를 수집합니다. 만약 소스 페이지에 액션스크립트를 적용하지 않으면, 이후에 추가된 URL들에서는 동일한 동작을 수행할 기준이 없어져 **탭 매칭 오류**나 **데이터 누락**이 발생할 수 있습니다.

* 반드시 **대표 페이지**를 연 상태에서 액션스크립트를 작성하고 적용하세요.
* 액션스크립트를 적용한 후에는 **재추출**을 실행하여 해당 설정이 정상적으로 작동하는지 먼저 확인해야 합니다.
* 이후 **\[+그룹]** 버튼을 통해 URL을 추가하면, 모든 그룹 페이지에 동일한 액션스크립트 동작이 반영됩니다.
* 만약 소스 페이지와 다른 페이지 간의 구조 차이가 크다면, 스크립트가 정상적으로 작동하지 않을 수 있으니 **같은 구조의 페이지**만 그룹추출에 포함시키는 것이 중요합니다.
  {% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.listly.io/docs/ko/getting-started/result-page-features/actionscript.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
