diff --git a/yt_dlp/utils/traversal.py b/yt_dlp/utils/traversal.py index 76b51f53d1..ce2ed186b5 100644 --- a/yt_dlp/utils/traversal.py +++ b/yt_dlp/utils/traversal.py @@ -3,6 +3,7 @@ import collections import collections.abc import contextlib +import dataclasses import functools import http.cookies import inspect @@ -233,6 +234,8 @@ def apply_specials(element): result = list(map(apply_specials, obj.iterfind(xpath))) else: result = apply_specials(obj) + elif dataclasses.is_dataclass(obj): + result = getattr(obj, key) return branching, result if branching else (result,)