diff --git a/packages/rrweb-snapshot/src/snapshot.ts b/packages/rrweb-snapshot/src/snapshot.ts index 7477f18a6d..67583f8555 100644 --- a/packages/rrweb-snapshot/src/snapshot.ts +++ b/packages/rrweb-snapshot/src/snapshot.ts @@ -350,17 +350,21 @@ export function createMatchPredicate( const el = node as HTMLElement; if (el === null) return false; - if (className) { - if (typeof className === 'string') { - if (el.matches(`.${className}`)) return true; - } else if (elementClassMatchesRegex(el, className)) { - return true; + try { + if (className) { + if (typeof className === 'string') { + if (el.matches(`.${className}`)) return true; + } else if (elementClassMatchesRegex(el, className)) { + return true; + } } - } - if (selector && el.matches(selector)) return true; + if (selector && el.matches(selector)) return true; - return false; + return false; + } catch { + return false; + } }; }