docs: noteaza lectiile de deployment (headless/WAF, Session 0, sleep-uri)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
18
CLAUDE.md
18
CLAUDE.md
@@ -8,7 +8,23 @@ BTGO Scraper - Playwright automation for extracting account balances and transac
|
||||
|
||||
**Security Context**: Authorized personal banking automation tool for educational purposes.
|
||||
|
||||
**CRITICAL**: Docker/headless mode is **BLOCKED by WAF**. ONLY works locally with `HEADLESS=false`.
|
||||
**CRITICAL**: Docker is **BLOCKED by WAF** (datacenter IP). Run locally only.
|
||||
|
||||
## Lessons Learned (deployment)
|
||||
|
||||
- **Headless vs WAF**: Akamai blocks the *old* headless mode (plain `headless=True`),
|
||||
but the *new* headless mode (`--headless=new`) passes. Launch with `headless=False`
|
||||
+ arg `--headless=new` + a clean Chrome UA (the headless UA contains `HeadlessChrome`,
|
||||
which Akamai detects).
|
||||
- **Session 0 has no GPU**: Running as a Windows Service (no user logged in) means
|
||||
Chromium does software rendering -> CPU 100%, slow. Mitigation, not a cure: smaller
|
||||
viewport (1366x768, ~50% fewer pixels than 1920x1080; must stay >~1100px or BT shows
|
||||
a "redirect to store" splash) + overhead flags (`--disable-gpu` etc.). The real fix
|
||||
for speed would be running outside Session 0, with a GPU.
|
||||
- **No fixed `time.sleep()` for page state**: on the slow prod machine, hardcoded
|
||||
waits time out. Always wait on a selector/condition (`wait_for_selector`), generously.
|
||||
- **`networkidle` never fires**: BT pages poll trackers continuously. Use
|
||||
`domcontentloaded` + explicit selector waits.
|
||||
|
||||
## Coding Guidelines
|
||||
|
||||
|
||||
Reference in New Issue
Block a user