The default workflow has 2 CLIP Text Encode (Prompt) nodes.
Using selectNodes(['KSampler', 'CLIP Text Encode (Prompt)']) selected
all 3 nodes (1 KSampler + 2 CLIP) instead of just 2.
Added selectFirstNodeByTitles helper that only selects the first
matching node for each title, avoiding strict mode violations.
Amp-Thread-ID: https://ampcode.com/threads/T-019c177d-06bf-779a-9c72-51a3626e4659
Section headers in Global Settings are uppercase buttons (NODES, CANVAS,
CONNECTION LINKS), not plain text. Using getByRole with exact name avoids
matching tabs and setting labels with similar text.
Amp-Thread-ID: https://ampcode.com/threads/T-019c16eb-8621-7473-9062-a57b0a1e782a