Deeman
d96f977c0f
fix scout_js: reference browser._state not undefined _state
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-21 17:26:50 +01:00
Deeman
ab9dc62dd6
scout: add German DSGVO text patterns + Usercentrics shadow DOM support
...
- German accept texts: Alle akzeptieren, Akzeptieren, Zustimmen, Einverstanden, etc.
- Usercentrics (shadow DOM) support — very common with German publishers
(Bild, Spiegel, Focus, etc.) — requires shadowRoot traversal, not addressable
by normal CSS selectors
- Consentmanager selectors — another common German CMP
- Note: German sites tested (Spiegel, Zeit, finanzen.net, Bild) showed no banners
because Pydoll reuses the existing Chrome user profile with stored consents.
New-site behaviour will be handled by the added patterns.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-21 17:23:33 +01:00
Deeman
ec7cfda605
scout: JS-based cookie dismiss + scout_js tool
...
- _dismiss_cookie_banner: switch to execute_script for CSS selector clicks
(OneTrust on ICE uses pointer-events:none overlay — mouse clicks don't reach it,
but JS .click() bypasses this). Falls back to text-based JS search.
- Selectors cover: OneTrust, Cookiebot, CookieYes, generic [id/class*=accept/consent]
- Text fallback covers: IAB TCF "Allow All" pattern (Reuters, etc.)
- Add scout_js tool: run arbitrary JS on current page — useful for shadow DOM,
z-index overlays, and any element that resists normal CSS/text selectors
- Add _click_via_js helper for targeted JS injection clicks
Tested patterns:
ICE (theice.com) — OneTrust #onetrust-accept-btn-handler — requires JS click
CFTC (cftc.gov) — no banner
Reuters — IAB TCF "Allow All" — text click works
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-21 17:19:34 +01:00
Deeman
b167a0a9f4
Add scout MCP server for browser recon + msgspec workspace dep
...
- tools/scout/: browser automation MCP server using Pydoll (CDP, no WebDriver)
- scout_visit, scout_elements (text-first), scout_click, scout_fill, scout_select
- scout_scroll, scout_text, scout_screenshot (opt-in)
- scout_har_start / scout_har_stop (asyncio task holds recording context open)
- scout_analyze: HAR parsing with HarEntry/HarSummary msgspec structs
- Standalone project (not workspace member — websockets conflict with prefect)
- Runs via: uv run --directory tools/scout scout-server
- .mcp.json: registers scout as Claude Code MCP server (project scope)
- msgspec>=0.19 added to root project deps (workspace-wide struct/validation)
- coding_philosophy.md: document msgspec as approved dep, usage rules
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-21 15:44:02 +01:00