Skip to content

feat: add browser automation tool via Playwright - #44

Open
NSIETeam wants to merge 1 commit into
OrionStarAI:opensourcefrom
NSIETeam:feat/web-automation-tool
Open

feat: add browser automation tool via Playwright#44
NSIETeam wants to merge 1 commit into
OrionStarAI:opensourcefrom
NSIETeam:feat/web-automation-tool

Conversation

@NSIETeam

Copy link
Copy Markdown

What

Adds a new web_automation tool with 9 browser automation actions via Playwright.

Actions

ActionDescription
navigateNavigate to URL, wait for network idle
fillFill a form field with text (CSS selector)
clickClick an element, optionally wait for navigation
scrapeExtract text/html/href/src from element
extract_tableExtract table data as 2D array
screenshotCapture viewport or full-page screenshot
run_scriptExecute custom JavaScript on page
waitWait for element to appear
list_tabsList all open browser tabs

Features

  • Session persistence: Saves/restores browser state (cookies, localStorage) between actions via storageState
  • Cross-platform: Works identically on macOS, Windows, Linux via Playwright
  • Dependency check: require.resolve('playwright') before execution, with clear install instructions
  • Safety: All actions require user confirmation (touches external systems); YOLO mode skips

Dependencies

  • playwright npm package
  • npx playwright install chromium (one-time browser download)

Origin

Ported from Otto project. Adapted for EasyCode:

  • Removed ProcessGuard dependency, uses child_process.exec
  • Removed DoctorService dependency, uses inline require.resolve
  • Same API surface and behavior

Testing

  • TypeScript compiles
  • Integration tests (requires Playwright + browser)

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@NSIETeam