You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Keep the browser alive between workflow runs to avoid repeated logins
and bot detection. Adds server mode to Python executor (NDJSON over
stdin/stdout), PersistentScriptExecutor in Rust, and a config toggle.
- Python: --server-mode flag for persistent NDJSON protocol
- Rust: PersistentScriptExecutor with start/execute/stop lifecycle
- Rust: Tauri commands for persistent session management
- Config: persistent_browser_session toggle in config.yaml and UI
- Activity poller: auto-uses persistent executor when config enabled
- Templates: navigate back to AddressHome after extraction
- Examples: add 06_bt_broadband_template_test.json
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
"description": "Random delay before search to avoid bot detection",
461
+
"duration_range": [
462
+
1500,
463
+
3500
464
+
]
465
+
},
458
466
{
459
467
"type": "try",
460
468
"name": "ClickSearch",
461
-
"description": "Click search button - includes retry for temporary 'service unavailable' errors",
469
+
"description": "Click search button - includes retry for temporary 'checker is unavailable' errors",
462
470
"strategies": [
463
471
{
464
472
"name": "Strategy 1: Submit button with retry",
@@ -471,10 +479,10 @@
471
479
},
472
480
"delay": 500,
473
481
"retry": {
474
-
"attempts": 3,
475
-
"delay_ms": 1000,
482
+
"attempts": 5,
483
+
"delay_ms": 5000,
476
484
"retry_if": {
477
-
"text_visible": "service unavailable"
485
+
"text_visible": "checker is unavailable"
478
486
}
479
487
}
480
488
}
@@ -491,10 +499,10 @@
491
499
},
492
500
"delay": 500,
493
501
"retry": {
494
-
"attempts": 3,
495
-
"delay_ms": 1000,
502
+
"attempts": 5,
503
+
"delay_ms": 5000,
496
504
"retry_if": {
497
-
"text_visible": "service unavailable"
505
+
"text_visible": "checker is unavailable"
498
506
}
499
507
}
500
508
}
@@ -505,6 +513,28 @@
505
513
{
506
514
"action": "wait_for_load_state",
507
515
"state": "networkidle"
516
+
},
517
+
{
518
+
"action": "wait",
519
+
"description": "Wait for search results or error message to appear",
520
+
"duration": 2000
521
+
},
522
+
{
523
+
"type": "if",
524
+
"name": "CheckSearchServiceAvailable",
525
+
"description": "Detect if BT checker returned 'unavailable' error after search submit",
526
+
"condition": {
527
+
"type": "element_visible",
528
+
"selector": "text=checker is unavailable",
529
+
"timeout": 1000
530
+
},
531
+
"then": {
532
+
"action": "error",
533
+
"message": "BT Checker service unavailable - the checker returned: 'We are sorry but the checker is unavailable at the moment. Please try again later.'"
0 commit comments