Aside 브라우저에서 넷플릭스를 보고 있다가, 광고에 지쳐...광고 구간 5개를 현재 영상 끝으로 이동해보고자 했습니다.
첫 시도는 재생 검증에 실패해 복원했고, “재도전” 후에는 시청 위치 유지와 약 2초간의 정상 재생을 확인했어요.
이런 분들께 도움돼요
브라우저 자동화가 “명령 실행 완료”와 “사용 가능한 결과”를 어떻게 구분하는지 궁금한 분
에이전트에게 재시도를 요청했을 때 무엇이 바뀌었는지 확인하고 싶은 분
자동으로 사라지는 화면 컨트롤을 다루는 분
문제 상황과 시작 계기
현재 시청 중인 넷플릭스 탭에서 원하는 내용을 chat으로 전달했어요. 이후 스킬화를 위해 Netflix Ads To End라는 스킬로 만들었습니다. 작업은 현재 영상의 브라우저 메모리에 있는 광고 일정을 임시로 바꾸는 것이었어요.
광 고 위치만 바꾸는 것으로 끝낼 수는 없었어요. 시청하던 위치를 잃지 않고 영상을 계속 볼 수 있는지도 확인해야 했어요. 이번 사례의 핵심은 광고를 옮기는 방법 자체보다, 변경 뒤 멈춰 있던 영상의 재생을 어떻게 재개하고 확인했는지예요.
실제 요청
아래는 로컬 경로를 제외한 공개용 사용자 작업 요청 전체예요. 첫 줄은 긴 프롬프트가 아니라 스킬 선택을 뜻해요.
[스킬 선택: Netflix Ads To End]
재도전
진행 방법
사용한 도구
Aside 브라우저: 현재 탭 확인, 화면 상태 읽기, 버튼과 키보드 조작
Netflix Ads To End 스킬: 시청 위치 보존, 광고 일 정 임시 이동, 원상 복원
검증 스크립트: 광고 일정과 타임라인 비교, 위치 유지 확인, 약 2초간 실제 재생 검사
1. 광고를 옮긴 뒤, 영상을 다시 시작해야 했어요
광고 일정 변경 스크립트는 재생 중이던 영상을 잠깐 정지시킨 뒤 작업했어요. 광고 구간 5개를 끝 약 1초 전으로 옮기고, 보존한 시청 위치로 플레이어를 다시 맞췄어요.
이후 검증 스크립트가 플레이어의 내부 재생 함수인 p.play()를 호출했어요. 약 2초 뒤 확인했지만, 플레이어는 재생 중이 아니었고 영상의 현재 시각도 그대로였어요.
쉽게 말하면 재생하라는 명령은 보냈지만, 영상은 시작하지 않았다는 뜻이에요. 검증 로그의 시간 증가 0ms는 광고 길이나 실패 횟수가 아니라, 테스트 전후의 영상 시각 차이예요. 테스트하는 동안 영상 시각이 전혀 진행되지 않았다는 의미예요.
광고 위치 변경 자체는 확인됐어요. 다만 계속 시청할 수 있는 상태까지 만들지는 못했으므로, 전체 작업을 성공으로 보고하지 않았어요. 영상이 재생되지 않았다는 사실만으로 광고 이동이 실패했다거나, 광고 변경 때문에 재생이 고장 났다고 단정할 수는 없어요.
2. 복원 과정에서 화면 버튼으로는 재생되는 것을 확인했어요
먼저 원래 광고 일정을 복원하고 시청 위치가 유지됐는지 확인했어요. 원래 재생 상태로 돌아가기 위해 내부 재생 명령을 보냈지만, 확인 시점에는 여전히 정지 상태였어요.
그래서 화면에 보이는 Play 버튼을 눌렀어요. 그 뒤에는 실제 재생 상태를 확인할 수 있었어요.
이 장면은 다음 시도의 방향을 정하는 근거가 됐어요. 내부 함수 호출만 반복하지 않고, 화면의 재생 조작을 통해 영상을 시작해 보기로 했어요. 다만 버튼을 눌렀을 때는 원래 광고 일정으로 복원된 상태였으므로, 이것만으로 변경된 광고 일정에서도 재생이 된다고 볼 수는 없었어요.
3. 재도전에서는 재생을 시작하는 경로를 바꿨어요
제가 “재도전”이라고 요청한 뒤, 에이전트는 같은 광고 이동 스크립트로 광고 5개를 다시 끝으로 옮겼어요. 광고를 옮기는 계산이나 검증 기준을 바꾼 것은 아니었어요.
바뀐 것은 변경 후 재생을 시작하는 방법과 순서였어요.
첫 시도: 광고 이동 → 검증 스크립트 안에서 내부 재생 함수 호출 → 약 2초 뒤 확인
재도전: 광고 이동 → 플레이어에 Space 키를 보내 재생 시작 → 같은 검증 스크립트로 약 2초간 확인
처음에는 재생 버튼을 직접 누르려 했어요. 하지만 컨트롤이 사라지면서 저장한 버튼 참조를 사용할 수 없었고, 다시 찾으려 했을 때도 버튼이 없었어요. 그래서 버튼 클릭을 계속 반복하지 않고, 포커스된 플레이어에 Space 키를 보냈어요.
새 화면 상태에서 일시정지 버튼이 나타났고, 이어서 같은 검증 스크립트를 실행했어요. 이번에는 약 2초 동안 영상 시각이 1,953ms, 즉 약 1.95초 진행됐어요. 플레이어가 재생 중인 것과 오류가 보고되지 않은 것도 확인했어요.
4. 재생만 확인한 것이 아니라 광고 이동 결과도 함께 확인했어요
키보드로 재생을 시작했다고 바로 성공으로 처리한 것은 아니었어요. 광고 일정 이 끝으로 옮겨진 상태인지, 내부 타임라인도 갱신됐는지, 시청 위치가 보존됐는지를 같은 검사로 확인했어요. 그 검사들과 실제 재생 검사가 함께 통과한 뒤 성공으로 보고했어요.
결과와 배운 점
확인된 결과
첫 시도: 광고 위치와 내부 타임라인 변경, 시청 위치 보존은 확인했지만 재생은 시작하지 않았어요. 근거: 일정 검사 통과, 영상 시각 변화 0ms.
복원: 원래 광고 일정과 시청 위치를 확인했고, 화면의 Play 버튼을 눌러 다시 재생했어요. 근거: 복원 출력과 버튼 조작 후 재생 상태 확인.
재도전: 같은 광고 이동 스크립트를 사용하되, Space 키로 재생을 먼저 시작했어요. 이후 광고 이동 상태와 약 1.95초의 영상 진행을 함께 확인했어요. 근거: 최종 검증 출력.
검증 결과 중 핵심 항목만 발췌하면 다음과 같아요. 실행 코드가 아니라 관찰한 데이터예요.
{
"first_attempt": {
"schedule_checks_passed": true,
"playing": false,
"advanced_ms": 0
},
"retry": {
"schedule_checks_passed": true,
"playing": true,
"advanced_ms": 1953
}
}
시행착오와 핵심 교훈
이번 재도전의 포인트는 “한 번 더 시키면 된다”가 아니었어요. 같은 내부 명령을 반복하는 대신, 재생을 시작하는 조작 경로를 바꾼 것이 구체적인 차이였어요.
또, 재생 버튼을 찾는 경로가 두 번 실패하자 키보드 조작으로 전환했어요. 화면 컨트롤이 자동으로 숨는 환경에서는 같은 버튼 참조를 계속 붙잡는 것보다 다른 조작 경로를 확인하는 것이 도움이 됐어요.
꿀팁
작업이 끝났다는 응답보다 실제 사용 가능한 상태가 됐는지 확인해요.
재도전할 때는 이전 시도와 무엇을 다르게 했는지 기록해요.
버튼 클릭이 반복해서 실패하면 새 화면을 읽고 다른 조작 경로를 검토해요.
변경 전 상태를 보존하고, 실패하면 복원까지 확인해요.
다른 업무에 적용한다면
웹 폼에서도 내부 값만 바꿨는지, 실제 입력·저장 동작까지 완료됐는지를 나누어 볼 수 있을 것 같아요. 이번 세션에서 웹 폼까지 검증한 것은 아니에요.
확인이 필요한 부분
Space 키를 보낸 뒤 재생 검사가 통과한 것은 확인했지만, 첫 실패의 정확한 원인은 확인하지 못했어요. 자동재생 제한이나 넷플릭스 내부 동작 때문이라고 단정할 근거는 없어요.
또한 끝에서 광고가 실제로 이어지는지, 장시간 재생이 안정적인지는 검사하지 않았어요. 변경은 현재 탭·영상의 임시 상태에 한정되며 새로고침이나 다음 회차에서 초기화될 수 있어요. 별도의 일시정지 화면 광고를 제거한 작업도 아니에요.
약관 적합성은 검증하지 않았으며 같은 작업의 실행을 권장하는 글은 아니에요.
다만, 웹 안에서 일어나는 작은 불편들을 ai Agent로 해결해 나가고 그 과정에서 ai 활용도를 넓히고자 한 경험입니다!