"Playwright 스크립트가 사이트 리뉴얼 한 번에 또 깨졌습니다. 셀렉터 말고 그냥 화면 보고 알아서 클릭하면 안 되나요?"
📌 핵심 3줄 요약
- browser-use는 LLM이 페이지 스크린샷과 DOM을 같이 보고 클릭/입력 액션을 결정하는 Python 라이브러리다.
- 설치는
pip install browser-use와uvx browser-use install두 줄이면 끝나고, browser-use 사용법의 핵심은Agent(task=..., llm=...)한 줄로 작업을 지시하는 것이다. - 대신 토큰 비용과 캡차·인증 같은 한계가 있어, 모든 자동화를 LLM에 맡길 필요는 없다.
1. browser-use가 Playwright와 다른 점
기존 Selenium·Playwright 스크립트는 page.click("#login-button") 같은 CSS 셀렉터에 강하게 묶여 있다. 사이트가 클래스명을 한 번 바꾸면 즉시 전부 깨진다. browser-use는 매 단계마다 페이지 스크린샷과 접근성 트리를 LLM에 넘기고, 모델이 "지금 로그인 버튼을 누른다" 같은 액션을 직접 결정한다.
즉 DOM 셀렉터 대신 시각 정보로 동작하므로, 디자인이 바뀌어도 작업 설명만 같으면 같은 흐름이 계속 돈다.
| 항목 | Playwright / Selenium | browser-use |
|---|---|---|
| 액션 결정 주체 | 개발자가 셀렉터로 명시 | LLM이 화면 보고 판단 |
| 디자인 변경 내성 | 낮음 (셀렉터 깨짐) | 상대적으로 높음 |
| 한 작업 비용 | 사실상 무료 | LLM 토큰 0.02~0.20 USD |
| 대표 용도 | 반복형 E2E 테스트 | 탐색·조사·1회성 작업 |
💡 핵심 한 줄
셀렉터를 정확히 쓸 수 있는 작업은 Playwright가 더 싸고 빠르다. browser-use는 "사이트 구조를 매번 다 외울 수 없는 탐색형 작업"에 어울린다.
2. 설치와 첫 실행 (5분 가이드)
browser-use는 Python 3.12 가상환경에서 가장 안정적이다. uv 패키지 매니저를 쓰면 가상환경 + 라이브러리 + Chromium까지 한 흐름에 해결된다.
마지막 한 줄인 uvx browser-use install이 Chromium을 내려받는다. 사내 프록시 등으로 막힐 때는 playwright install chromium으로 대체할 수 있다.
설치가 끝나면 OpenAI API 키를 .env에 넣고 첫 에이전트를 실행해 본다.
실행하면 Chromium 창이 떠서 페이지를 직접 클릭·스크롤하는 모습이 보이고, 콘솔에는 모델이 어떤 액션을 골랐는지 단계별로 출력된다. Claude를 쓰려면 ChatOpenAI 대신 ChatAnthropic(model="claude-sonnet-4-0"), Gemini는 ChatGoogle로 바꾸면 끝이다.
3. 실전: 가격 비교 에이전트 만들기
실제 활용에서는 단순 검색이 아니라 "여러 사이트를 돌며 정보를 모아 정리"하는 작업이 가장 가치 있다. 아래는 노트북 모델명을 받아 두 쇼핑몰의 가격을 비교하는 예시다.
allowed_domains로 도메인을 화이트리스트해두면 모델이 광고 링크를 따라 엉뚱한 사이트로 가는 사고를 막을 수 있다. await agent.run()이 반환하는 history 객체에는 단계별 스크린샷·액션·LLM 메시지가 모두 들어 있어 디버깅이 수월하다.
📘 알아두기
같은 작업을 여러 번 돌릴 거라면 첫 실행에서 history를 저장해 액션 순서를 추출한 뒤, 이후엔 Playwright 스크립트로 옮기는 방식이 비용 면에서 가장 합리적이다.
4. 한계와 비용
browser-use는 만능 도구가 아니다. LLM이 매 단계 화면을 해석하므로 비용과 시간이 모두 든다. 보통 한 작업당 0.02~0.20 USD 정도가 청구되고, 단계가 길어지면 1달러를 넘기도 쉽다.
⚠️ 흔한 실패 케이스
- 캡차·SMS 인증이 걸린 로그인 — 사람 개입 없이는 대부분 막힌다.
- 봇 차단이 강한 항공·티켓 사이트 — IP 차단 또는 무한 로딩.
- 무한 스크롤 페이지 — 모델이 "끝까지 봤다"고 잘못 판단하기 쉽다.
- 비용 폭주 —
max_steps미지정으로 30단계 이상 도는 사고.
반복적이고 셀렉터가 안정적인 작업이라면 Playwright를 그대로 쓰는 편이 빠르고 싸다. browser-use는 "사람이 매번 손으로 하던 탐색 작업"을 줄이는 용도로 쓸 때 가치가 가장 크다.
✅ 핵심 정리
- browser-use는 LLM이 화면을 보고 액션을 결정하는 Python 브라우저 자동화 라이브러리다.
- 설치는 uv 가상환경 +
uvx browser-use install로 5분이면 끝난다. Agent(task=..., llm=...)한 줄로 작업 지시, OpenAI·Anthropic·Google 모델 모두 지원.- 반복형 작업에는 비용이 부담이므로, 탐색·1회성 작업 위주로 활용한다.
🚀 지금 바로 할 일
- Python 3.12 가상환경을 만들고
uv pip install browser-use로 라이브러리를 설치한다. - OpenAI 또는 Anthropic API 키를
.env에 추가하고, 위 first_run.py 예제를 그대로 실행해 첫 자동화 흐름을 눈으로 확인한다. - 본인이 매주 손으로 하던 웹 작업 하나를 골라,
task문자열을 5~7줄로 풀어쓴 뒤BrowserProfile(allowed_domains=[...])로 범위를 좁혀 돌려본다.
💬 의견
browser-use 같은 'AI 우선' 자동화 도구가 기존 Playwright 스크립트를 얼마나 대체할 수 있다고 보시나요? 댓글로 의견 부탁드립니다.
참고 자료
- browser-use GitHub 저장소 — MIT 라이선스, 최신 README·AGENTS.md 기준
- browser-use 공식 문서 — Agent·BrowserProfile API 레퍼런스
- browser-use 프로젝트 사이트 — 사용 사례 및 클라우드 옵션
- Playwright for Python 공식 문서 — 비교 대상 브라우저 자동화 라이브러리
작성자: AI·개발 도구를 직접 설치·검증해 한국어로 정리하는 기술 블로그 운영자. 이 글은 browser-use 공식 README·AGENTS.md(GitHub) 최신본과 docs.browser-use.com을 1차 출처로, 2026-06-13 기준 Python 3.12 환경에서 정리했습니다. API 시그니처와 명령어는 공식 저장소 기준이며, 향후 마이너 버전 업데이트로 일부 옵션명이 변경될 수 있습니다.
'AI 튜토리얼' 카테고리의 다른 글
| Claude Code + Apple Foundation Models 연동 가이드 (OS 27 베타, 2026) (0) | 2026.06.15 |
|---|---|
| aisuite Python 5분 시작: OpenAI·Claude·Gemini 통합 (2026) (0) | 2026.06.14 |
| Claude Agent SDK Python 사용법 완벽 가이드 (2026) (0) | 2026.06.12 |
| Claude Desktop 1.8GB Hyper-V VM 문제: 원인과 대응 정리 (2026) (0) | 2026.06.11 |
| Claude Code Security Review GitHub Action 셋업 가이드 (0) | 2026.06.10 |