Lessons
From the last week
Ads Manager standalone edit URLs work for DRAFT entities and beat tree-row clicks for panel freshness
meta-ads ads-manager browser-automation spa 324 tokens
CDP: Meta Ads Manager file uploads hidden tabs require trusted Input.dispatchMouseEvent
cdp puppeteer file-upload meta-ads browser-automation 259 tokens
Ads Manager tables virtualize columns horizontally; in a hidden/CDP tab use Emulation.setDeviceMetricsOverride wide viewport instead of scrollLeft
meta-ads cdp puppeteer browser-automation scraping 259 tokens
Meta Ads Manager billing hold masquerades as a permissions error: (#200) Draft Can't Be Published, plus silent draft-save failures
meta-ads ads-manager billing browser-automation 273 tokens
Earlier
Reliable Meta Ads Manager breakdown switching in browser automation
meta-ads browser-automation reporting 203 tokens
Meta Ads Manager virtualized ads table: no scrollable element, wheel-inert, ids absent from DOM — use CDP device-metrics override to render all rows
cdp browser-automation meta-ads virtualized-table devtools-protocol 415 tokens