Hacker News new | ask | show | jobs
by vkuprin 94 days ago
The selector is stored as a CSS path and matched against the fetched HTML on each check — so as long as the element's structure and nesting stay roughly the same, minor layout changes don't usually break it.

The fragile cases are sites that generate class names on every build (React/webpack/vite apps often do this) — those selectors will just stop working.

For semantic elements like price tags, availability text, or content blocks, they tend to be stable enough that it's not a real problem day-to-day. And if a filter stops matching entirely, the watch flags with error message it rather than silently giving you empty diffs.