[기술 해설] 붙여넣기로 던졌더니 파일이 올라갔다: 자동화가 막힐 때 볼 세 단계

브라우저 화면의 파일 첨부 영역과 개발자 도구가 함께 열린 모습
요소를 찾은 것과 실제로 눌린 것은 다릅니다.
먼저 결론

파일 입력란에 파일을 넣어도 반응이 없었습니다. 붙여넣기로 던지니 올라갔습니다.

브라우저 화면을 자동으로 조작해 이미지를 올리려 했습니다. 화면에 있는 파일 입력란을 찾아 파일을 넣고 변경 신호를 보냈습니다. 오류는 없었고 입력란에는 파일 이름도 들어갔습니다. 그런데 서비스는 아무 반응도 하지 않았습니다. 그 서비스가 파일을 받는 방식이 입력란의 변경 신호가 아니었기 때문입니다. 대신 붙여넣기 동작으로 파일을 던졌더니 곧바로 올라갔습니다. 화면 조작을 자동으로 할 때 자주 만나는 상황입니다. 요소를 찾았다는 것과 눌렸다는 것은 다르고, 눌렸다는 것과 서비스가 받았다는 것도 다릅니다. 이 세 가지를 따로 확인해야 막히는 지점을 알 수 있습니다.

브라우저 화면의 파일 첨부 영역과 개발자 도구가 함께 열린 모습 설명 이미지

요소를 찾았다는 것은 눌렸다는 뜻이 아니다

화면 자동화가 막힐 때 가장 먼저 확인하는 것은 요소를 찾았는지입니다. 못 찾으면 오류가 나므로 이 단계는 눈에 보입니다.

문제는 그다음입니다. 찾은 요소에 신호를 보냈을 때 오류가 나지 않으면 눌렸다고 생각하게 됩니다. 그런데 신호를 보내는 것과 서비스가 그 신호를 받아 처리하는 것은 별개입니다.

실제로 화면에는 값이 들어간 것처럼 보이는데 서비스 쪽은 아무것도 모르는 상태가 자주 생깁니다. 값은 표시용이고, 처리는 다른 신호에 걸려 있기 때문입니다.

그래서 자동화가 막히면 세 단계를 나눠서 봅니다. 요소를 찾았는지, 신호를 보냈는지, 화면이 실제로 달라졌는지입니다.

단계확인 방법여기서 막히면
요소를 찾았다선택자로 조회했을 때 결과가 있는지선택자나 화면 구조 문제
신호를 보냈다오류 없이 실행됐는지여기까지는 대개 통과합니다
서비스가 받았다동작 전후 화면 글자가 달라졌는지받는 신호가 다른 것입니다

서비스마다 받는 신호가 다르다

같은 모양의 버튼이라도 어떤 화면은 코드로 만들어 보낸 신호를 받고, 어떤 화면은 실제 마우스 동작만 받습니다.

파일 첨부도 마찬가지입니다. 파일 입력란의 값이 바뀌었다는 신호를 듣는 서비스가 있고, 아예 다른 경로로만 파일을 받는 서비스가 있습니다.

이번 경우가 후자였습니다. 입력란에 파일을 넣고 변경 신호를 보냈지만 그 신호를 아무도 듣고 있지 않았습니다.

그래서 잘 되던 다른 화면의 방식을 그대로 가져다 쓰면 안 됩니다. 처음 다루는 서비스는 어떤 신호를 듣는지 먼저 확인해야 합니다.

붙여넣기로 파일을 던지면 되는 경우

막힌 자리를 우회한 방법은 붙여넣기였습니다. 사용자가 이미지를 복사해 붙여 넣는 동작을 흉내 내는 것입니다.

브라우저에서는 붙여넣기 동작에 파일을 실어 보낼 수 있습니다. 클립보드 자료를 담는 자리에 파일을 넣고, 붙여넣기 동작을 화면에 전달합니다.

이 방식이 통한 이유는 그 서비스가 붙여넣기를 실제 입력 경로로 다루고 있었기 때문입니다. 사용자가 흔히 쓰는 방식이라 처리 코드가 붙어 있었습니다.

정리하면 요령은 하나입니다. 사용자가 실제로 하는 동작 중에서 서비스가 확실히 처리하는 것을 골라 흉내 냅니다. 화면 안쪽 구조를 흉내 내는 것보다 안정적입니다.

눌렀다와 접수됐다는 다르다

버튼을 눌렀는데 서비스가 시간이 걸리는 처리를 시작하는 경우가 있습니다. 어떤 화면은 누른 뒤 1~2분짜리 검사를 돌립니다.

그 사이에 다음 화면으로 넘어가면 처리가 취소됩니다. 누르기는 했지만 접수되지는 않은 상태로 남습니다.

그래서 누른 다음에는 완료를 알리는 문구를 실제로 본 뒤에 넘어갑니다. 그 문구가 무엇인지는 첫 한 건에서 누르기 전후 화면 글자를 비교해 찾아 둡니다.

이 확인을 넣기 전에는 여러 건이 접수되지 않은 채로 지나갔습니다. 오류는 하나도 없었습니다.

잘못된 확인대신 하는 확인
버튼 요소를 찾았다누른 뒤 화면 글자가 달라졌다
오류가 나지 않았다완료 문구를 실제로 봤다
진행 표시가 안 보인다진행 표시가 나타났다가 사라졌다
자동화가 막힐 때 볼 세 단계 정리 이미지

진행 표시는 두 단계로 본다

처리 중임을 알리는 표시가 있는 화면에서 흔히 하는 실수가 있습니다. 그 표시가 없는 것을 보고 끝났다고 판단하는 것입니다.

표시가 없는 상태는 두 가지입니다. 아직 시작하지 않았거나, 다 끝났거나입니다. 없는 것만 봐서는 구분되지 않습니다.

그래서 나타나는 것을 먼저 확인합니다. 표시가 뜨는 것을 본 다음에 사라지기를 기다립니다.

그리고 사라진 뒤에도 조금 더 기다립니다. 결과를 알리는 문구나 확인 창은 한 박자 늦게 뜨는 경우가 많습니다.

처음 쓰는 서비스에서 먼저 하는 일

새 화면을 자동으로 다루기 전에 한 건만 손으로 해 봅니다. 그러면서 두 가지를 적어 둡니다.

하나는 동작 전후로 달라지는 화면 글자입니다. 이것이 나중에 완료를 판정하는 기준이 됩니다.

다른 하나는 그 동작이 어떤 입력 경로를 쓰는지입니다. 클릭인지, 붙여넣기인지, 끌어다 놓기인지입니다.

이 두 가지를 먼저 적어 두면 자동화가 막혔을 때 어디서 막혔는지 바로 알 수 있습니다. 적어 두지 않으면 되는 방법을 찾을 때까지 계속 바꿔 보게 됩니다.

  • 동작 전후 화면 글자 차이를 먼저 적어 둔다
  • 성공한 사례의 입력 방식을 그대로 복사해 쓴다
  • 막히면 사용자가 실제로 하는 다른 동작을 흉내 낸다

자주 묻는 질문

Q. 파일 입력란에 파일을 넣었는데 왜 반응이 없나요?

A. 그 서비스가 입력란의 변경 신호를 듣지 않는 경우가 있습니다. 이번에는 붙여넣기 동작에 파일을 실어 보내니 처리됐습니다. 서비스마다 실제로 받는 입력 경로가 다릅니다.

Q. 클릭이 안 먹히는지 어떻게 확인하나요?

A. 누르기 전과 후의 화면 글자를 비교합니다. 달라진 것이 없으면 눌리지 않은 것입니다. 요소를 찾았다는 사실만으로는 눌렸는지 알 수 없습니다.

Q. 진행 표시가 없으면 끝난 건가요?

A. 아닙니다. 아직 시작하지 않은 상태와 구분되지 않습니다. 표시가 나타나는 것을 먼저 확인한 뒤 사라지기를 기다리고, 사라진 뒤에도 결과 문구가 뜰 때까지 조금 더 기다립니다.

확인 자료

  • 본 블로그 운영 중 2026-09-09에 직접 겪은 사례 기록
  • AI 개발루틴 현장 부록 v1.3 — 2026-09-05~06 운영에서 나온 실패 19건 분류 (2026-09-06 정리)

이 글은 직접 겪은 작업 기록을 정리한 것입니다. 확인하지 못한 항목은 본문에 쓰지 않았습니다. 대표 이미지는 이해를 돕기 위한 참고용 이미지입니다.