Community연구 & 데이터 분석github.com

sickn33/browser-automation

브라우저 자동화는 웹 테스트, 스크래핑, AI 에이전트 상호작용을 지원합니다. 불안정한 스크립트와 안정적인 시스템의 차이는 셀렉터, 대기 전략, 탐지 회피 패턴을 이해하는 데 달려 있습니다.

browser-automation란 무엇인가요?

이 스킬은 웹 브라우저 자동화를 위한 포괄적인 지침을 제공하여, AI 에이전트나 개발자가 안정적인 웹 테스트, 데이터 스크래핑, 그리고 브라우저 기반 상호작용을 수행할 수 있도록 돕습니다. 핵심은 신뢰할 수 있는 셀렉터(예: CSS 선택자, XPath)를 선택하고, 적절한 대기 전략(명시적 대기, 암시적 대기, 사용자 지정 조건)을 적용하며, 봇 탐지를 회피하기 위한 패턴(예: 사용자 에이전트 변경, 헤더 설정, 지연 시간 시뮬레이션)을 이해하는 데 중점을 둡니다. 이 스킬은 Playwright, Puppeteer, Selenium과 같은 주요 브라우저 자동화 도구와 함께 사용할 수 있으며, Claude Code, Cursor, Codex와 같은 AI 코딩 어시스턴트와의 통합을 고려하여 설계되었습니다. SKILL.md 문서는 실제 예제와 함께 각 전략의 장단점을 설명하며, 개발자가 일반적인 함정(예: 요소가 로드되기 전에 클릭 시도, 탐지로 인한 차단)을 피하고 생산성과 안정성을 향상시킬 수 있도록 안내합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/browser-automation

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

browser-automation은(는) 무엇을 하나요?

브라우저 자동화는 웹 테스트, 스크래핑, AI 에이전트 상호작용을 지원합니다. 불안정한 스크립트와 안정적인 시스템의 차이는 셀렉터, 대기 전략, 탐지 회피 패턴을 이해하는 데 달려 있습니다.

개요

이 스킬은 브라우저 자동화를 위한 모범 사례를 제공합니다. 주요 브라우저 자동화 도구(Playwright, Puppeteer, Selenium)와 함께 사용할 수 있으며, AI 코딩 어시스턴트(Claude Code, Cursor, Codex)와의 통합을 고려하여 설계되었습니다.

주요 개념

셀렉터 (Selectors)

  • CSS 선택자: .class, #id, [data-testid="value"] 등. 빠르고 간결하지만, 동적 클래스에는 취약할 수 있습니다.
  • XPath: //div[@class='item'] 등. 강력하지만 복잡하고 느릴 수 있습니다.
  • 텍스트 기반: 버튼 텍스트나 레이블을 사용하여 요소를 찾습니다. UI 변경에 더 강건할 수 있습니다.
  • 권장 사항: 고유한 data-testid 속성을 사용하여 테스트에 최적화된 셀렉터를 만듭니다.

대기 전략 (Waiting Strategies)

  • 암시적 대기 (Implicit Wait): 요소를 찾기 전에 일정 시간 동안 대기합니다. 간단하지만 모든 요소에 적용되어 성능이 저하될 수 있습니다.
  • 명시적 대기 (Explicit Wait): 특정 조건이 충족될 때까지 대기합니다 (예: 요소가 표시될 때까지). 더 안정적이고 효율적입니다.
  • 사용자 지정 조건: 페이지 로드, 네트워크 요청 완료, 특정 텍스트 표시 등을 기다리는 데 유용합니다.

탐지 회피 패턴 (Anti-Detection Patterns)

  • 사용자 에이전트 변경: 실제 브라우저처럼 보이도록 User-Agent 헤더를 설정합니다.
  • 뷰포트 및 헤더 설정: 브라우저의 해상도, 언어, 시간대 등을 실제 사용자와 유사하게 설정합니다.
  • 지연 시간 시뮬레이션: 사람처럼 클릭 간 지연을 추가하여 봇 탐지를 피합니다.
  • WebDriver 속성 제거: 일부 도구는 navigator.webdriver 속성을 제거하여 탐지를 회피합니다.

예제 (Playwright)

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch({ headless: false });
  const context = await browser.newContext({
    userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
    viewport: { width: 1280, height: 720 },
    locale: 'en-US'
  });
  const page = await context.newPage();
  await page.goto('https://example.com');
  
  // 명시적 대기: 요소가 표시될 때까지 기다립니다.
  await page.waitForSelector('button.submit', { state: 'visible' });
  
  // 텍스트 기반 셀렉터
  await page.click('text=Submit');
  
  await browser.close();
})();

일반적인 함정

  • 고정된 대기 시간 사용: time.sleep(5)는 비효율적이며 불안정합니다. 대신 명시적 대기를 사용하세요.
  • 탐지 무시: 많은 사이트가 봇을 차단합니다. 적절한 사용자 에이전트와 헤더 설정으로 회피하세요.
  • 셀렉터 과의존: 하나의 셀렉터에 의존하지 말고, 여러 전략을 조합하여 안정성을 높이세요.

추가 리소스

라이선스

이 스킬은 MIT 라이선스 하에 제공됩니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

sickn33/3d-web-experience

Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing depth to web experiences.

sickn33/agent-memory-mcp

A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).

sickn33/agent-memory-systems

Memory is the cornerstone of intelligent agents. Without it, every interaction starts from zero. This skill covers the architecture of agent memory: short-term (context window), long-term (vector stores), and the cognitive architectures that organize them.

sickn33/ai-agents-architect

Expert in designing and building autonomous AI agents. Masters tool use, memory systems, planning strategies, and multi-agent orchestration.

sickn33/api-documentation-generator

Generate comprehensive, developer-friendly API documentation from code, including endpoints, parameters, examples, and best practices

sickn33/api-patterns

API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.

sickn33/api-security-best-practices

Implement secure API design patterns including authentication, authorization, input validation, rate limiting, and protection against common API vulnerabilities

sickn33/app-store-optimization

Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store

sickn33/architecture

Architectural decision-making framework. Requirements analysis, trade-off evaluation, ADR documentation. Use when making architecture decisions or analyzing system design.

sickn33/audio-transcriber

Transform audio recordings into professional Markdown documentation with intelligent summaries using LLM integration

sickn33/aws-serverless

Specialized skill for building production-ready serverless applications on AWS. Covers Lambda functions, API Gateway, DynamoDB, SQS/SNS event-driven patterns, SAM/CDK deployment, and cold start optimization.

sickn33/backend-architect

Expert backend architect specializing in scalable API design, microservices architecture, and distributed systems.

sickn33/backend-dev-guidelines

You are a senior backend engineer operating production-grade services under strict architectural and reliability constraints. Use when routes, controllers, services, repositories, express middleware, or prisma database access.

sickn33/bash-linux

Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.

sickn33/bash-scripting

Bash scripting workflow for creating production-ready shell scripts with defensive patterns, error handling, and testing.

sickn33/brainstorming

Use before creative or constructive work (features, architecture, behavior). Transforms vague ideas into validated designs through disciplined reasoning and collaboration.

sickn33/browser-extension-builder

Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions. Covers extension architecture, manifest v3, content scripts, popup UIs, monetization strategies, and Chrome Web Store publishing.

sickn33/bullmq-specialist

BullMQ expert for Redis-backed job queues, background processing, and reliable async execution in Node.js/TypeScript applications.

sickn33/bun-development

Fast, modern JavaScript/TypeScript development with the Bun runtime, inspired by [oven-sh/bun](https://github.com/oven-sh/bun).

sickn33/cc-skill-security-review

This skill ensures all code follows security best practices and identifies potential vulnerabilities. Use when implementing authentication or authorization, handling user input or file uploads, or creating new API endpoints.

관련 스킬