@@ -958,7 +958,7 @@ async def agent_step(
958
958
)
959
959
detailed_agent_step_output .actions_and_results [action_idx ] = (action , [action_result ])
960
960
await app .DATABASE .create_action (action = action )
961
- await self .record_artifacts_after_action (task , step , browser_state )
961
+ await self .record_artifacts_after_action (task , step , browser_state , engine )
962
962
break
963
963
964
964
action = action_node .action
@@ -1011,7 +1011,7 @@ async def agent_step(
1011
1011
)
1012
1012
# wait random time between actions to avoid detection
1013
1013
await asyncio .sleep (random .uniform (1.0 , 2.0 ))
1014
- await self .record_artifacts_after_action (task , step , browser_state )
1014
+ await self .record_artifacts_after_action (task , step , browser_state , engine )
1015
1015
for result in results :
1016
1016
result .step_retry_number = step .retry_index
1017
1017
result .step_order = step .order
@@ -1147,7 +1147,7 @@ async def agent_step(
1147
1147
scraped_page , task , step , working_page , complete_action
1148
1148
)
1149
1149
detailed_agent_step_output .actions_and_results .append ((complete_action , complete_results ))
1150
- await self .record_artifacts_after_action (task , step , browser_state )
1150
+ await self .record_artifacts_after_action (task , step , browser_state , engine )
1151
1151
1152
1152
# if the last action is complete and is successful, check if there's a data extraction goal
1153
1153
# if task has navigation goal and extraction goal at the same time, handle ExtractAction before marking step as completed
@@ -1441,12 +1441,23 @@ async def check_user_goal_complete(
1441
1441
)
1442
1442
return None
1443
1443
1444
- async def record_artifacts_after_action (self , task : Task , step : Step , browser_state : BrowserState ) -> None :
1444
+ async def record_artifacts_after_action (
1445
+ self ,
1446
+ task : Task ,
1447
+ step : Step ,
1448
+ browser_state : BrowserState ,
1449
+ engine : RunEngine ,
1450
+ ) -> None :
1445
1451
working_page = await browser_state .get_working_page ()
1446
1452
if not working_page :
1447
1453
raise BrowserStateMissingPage ()
1454
+
1455
+ fullpage_screenshot = True
1456
+ if engine == RunEngine .openai_cua :
1457
+ fullpage_screenshot = False
1458
+
1448
1459
try :
1449
- screenshot = await browser_state .take_screenshot (full_page = True )
1460
+ screenshot = await browser_state .take_screenshot (full_page = fullpage_screenshot )
1450
1461
await app .ARTIFACT_MANAGER .create_artifact (
1451
1462
step = step ,
1452
1463
artifact_type = ArtifactType .SCREENSHOT_ACTION ,
0 commit comments