Web Browser Commands

Run web script

현재 페이지 컨텍스트에서 임의의 JavaScript 코드를 실행하고 결과를 측정 값에 저장합니다.

현재 페이지의 컨텍스트에서 임의의 JavaScript 코드를 실행하고 결과를 측정 값에 저장합니다. 카테고리 공통 입력 필드는 Web Browser 명령어 개요 페이지를 참고하세요.

매개변수

ArgumentTypeDescription
Browser alias텍스트브라우저 세션 별칭. 비우면 default 사용.
JavaScript code텍스트실행할 JS 코드. return ...; 으로 값을 돌려주거나 단일 표현식만 작성 가능.
Delay숫자명령어 실행 후 대기 시간 (Milliseconds)
Description텍스트명령어 설명 (선택).

반환값

반환값

JSON 문자열로 직렬화된 JS 실행 결과. 성공 시 1, 실패 시 0.

설명

입력한 코드는 내부적으로 JSON.stringify((function(){ <사용자 코드> ; })()) 형태로 감싸 페이지 컨텍스트에서 실행됩니다. 페이지의 document, window, jQuery 등 페이지에 로드된 모든 객체에 접근할 수 있으며, 결과는 항상 JSON 문자열로 직렬화되어 측정 값에 저장됩니다.

핵심 규칙

  • 값을 받으려면 return ...; 으로 명시적으로 반환. return 이 없으면 측정 값은 undefined 문자열이 됩니다.
  • 즉시실행함수로 감싸지므로 var / let / function 선언이 페이지 전역을 오염시키지 않습니다.
  • Promise / await 도 자동 처리됩니다. fetch 결과 등을 return await fetch(...).then(r => r.text()); 형태로 받을 수 있습니다.
  • Aurora 변수도 코드 내부에 삽입 가능합니다. 예: const id = "[targetId]"; return document.getElementById(id)?.textContent;

사용 예시

JavaScript code설명 / 측정 값
return document.title;페이지 제목 문자열
return document.querySelectorAll('table#data tr').length;표의 행 개수 (숫자)
return document.getElementById('amount').innerText.trim();특정 요소의 텍스트
const r = document.getElementById('item').getBoundingClientRect(); return { x:r.left, y:r.top };객체 반환 → JSON 문자열로 저장
return [...document.querySelectorAll('.row')].map(e => e.innerText);여러 요소의 텍스트 배열
document.querySelector('.disabled').classList.remove('disabled'); return 'ok';DOM 직접 수정 후 상태 반환
const r = await fetch('/api/health'); return { status:r.status, ok:r.ok };비동기 fetch 결과

주의사항

  • 측정 값이 undefined 로 저장됐다면 return 누락이 가장 흔한 원인입니다.
  • CSP(Content-Security-Policy) 가 unsafe-eval 을 금지하는 사이트에서는 사용자 코드 내부의 eval() 호출이 실패합니다 (EvaluateAsync 자체는 동작).
  • Shadow DOM 내부 요소는 document.querySelector 로 접근할 수 없습니다. customElement.shadowRoot.querySelector(...) 처럼 명시적으로 진입해야 합니다.
  • 사용자 코드 내부에서 throw 가 발생하면 명령은 실패(반환 0) 로 처리되고, 에러 메시지는 디버그 메시지에 기록됩니다.