- Pass extracted item names via temp JSON file so Playwright knows exactly
what to click instead of guessing from DOM selectors (7 → 171 items)
- Use TreeWalker for exact text matching and aggressive scrolling
- Better price parsing: handle cents (int), dollars (string), displayPrice
- Improved modal dismissal with overlay click fallback
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- New doordash-modifiers.js: stealth Playwright script that clicks each
menu item on a DoorDash page, captures itemPage GraphQL responses,
and extracts optionLists (modifier groups with options and prices)
- Wire modifier extraction into DoorDash fast-path in analyzeMenuUrl.cfm:
after parsing items/categories, runs modifier script and maps results
- Improved business info extraction: address, phone, and hours now use
position-based parsing of StoreHeaderAddress, StoreHeaderPhoneNumber,
and StoreOperationHoursRange embedded data (fixes intermittent missing info)
- Add playwright-extra and stealth plugin to package.json
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>