Skip to content

Commit f5634ce

Browse files
update
1 parent e421f76 commit f5634ce

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

stagehand/page.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
ObserveOptions,
1717
ObserveResult,
1818
)
19-
from .types import DefaultExtractSchema
19+
from .types import DefaultExtractSchema, EmptyExtractSchema
2020

2121
_INJECTION_SCRIPT = None
2222

@@ -361,12 +361,17 @@ async def extract(
361361
processed_data_payload = result_dict
362362
if schema_to_validate_with and isinstance(processed_data_payload, dict):
363363
try:
364-
validated_model = schema_to_validate_with.model_validate(
365-
processed_data_payload
366-
)
367-
processed_data_payload = (
368-
validated_model # Payload is now the Pydantic model instance
369-
)
364+
# For extract with no params
365+
if not options_obj:
366+
validated_model = EmptyExtractSchema.model_validate(
367+
processed_data_payload
368+
)
369+
processed_data_payload = validated_model
370+
else:
371+
validated_model = schema_to_validate_with.model_validate(
372+
processed_data_payload
373+
)
374+
processed_data_payload = validated_model
370375
except Exception as e:
371376
self._stagehand.logger.error(
372377
f"Failed to validate extracted data against schema {schema_to_validate_with.__name__}: {e}. Keeping raw data dict in .data field."

0 commit comments

Comments
 (0)