- Generate OneShot js code geenrator - Introduced a new C4A-Script tutorial example for login flow using Blockly. - Updated index.html to include Blockly theme and event editor modal for script editing. - Created a test HTML file for testing Blockly integration. - Added comprehensive C4A-Script API reference documentation covering commands, syntax, and examples. - Developed core documentation for C4A-Script, detailing its features, commands, and real-world examples. - Updated mkdocs.yml to include new C4A-Script documentation in navigation.
43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
# Advanced control flow with IF, EXISTS, and REPEAT
|
|
|
|
# Define reusable procedures
|
|
PROC handle_cookie_banner
|
|
IF (EXISTS `.cookie-banner`) THEN CLICK `.accept-cookies`
|
|
IF (EXISTS `.privacy-notice`) THEN CLICK `.dismiss-privacy`
|
|
ENDPROC
|
|
|
|
PROC scroll_to_load
|
|
SCROLL DOWN 500
|
|
WAIT 0.5
|
|
ENDPROC
|
|
|
|
PROC try_login
|
|
CLICK `#email`
|
|
TYPE "user@example.com"
|
|
CLICK `#password`
|
|
TYPE "secure123"
|
|
CLICK `button[type="submit"]`
|
|
WAIT 2
|
|
ENDPROC
|
|
|
|
# Main script
|
|
GO https://example.com
|
|
WAIT 2
|
|
|
|
# Handle popups
|
|
handle_cookie_banner
|
|
|
|
# Conditional navigation based on login state
|
|
IF (EXISTS `.user-menu`) THEN CLICK `.dashboard-link` ELSE try_login
|
|
|
|
# Repeat scrolling based on content count
|
|
REPEAT (scroll_to_load, 5)
|
|
|
|
# Load more content while button exists
|
|
REPEAT (CLICK `.load-more`, `document.querySelector('.load-more') && !document.querySelector('.no-more-content')`)
|
|
|
|
# Process items conditionally
|
|
IF (`document.querySelectorAll('.item').length > 10`) THEN EVAL `console.log('Found ' + document.querySelectorAll('.item').length + ' items')`
|
|
|
|
# Complex condition with viewport check
|
|
IF (`window.innerWidth < 768 && document.querySelector('.mobile-menu')`) THEN CLICK `.mobile-menu-toggle` |