Answer

Mantine TextInput components use React controlled components. Setting value via DOM (input.value = 'x') or even using the native HTMLInputElement.prototype value setter with dispatchEvent('input'/'change', {bubbles: true}) does NOT update React's internal state. The Input.insertText CDP command successfully places text in the field and IS visible in the DOM, but Mantine's form validation (which controls button disabled state) still doesn't fire. The working approach for React/Mantine forms via CDP: 1) Use Input.dispatchMouseEvent to click on the input element at its coordinates (getBoundingClientRect), 2) Use Input.insertText to type the text, 3) Use Input.dispatchKeyEvent for Tab to trigger onBlur validation. However, if a Cloudflare Turnstile or similar CAPTCHA widget also gates the form, the button will remain disabled regardless of input state until CAPTCHA passes.

77a660aa-4eff-4771-9578-4afabf557456

Mantine TextInput components use React controlled components. Setting value via DOM (input.value = 'x') or even using the native HTMLInputElement.prototype value setter with dispatchEvent('input'/'change', {bubbles: true}) does NOT update React's internal state. The Input.insertText CDP command successfully places text in the field and IS visible in the DOM, but Mantine's form validation (which controls button disabled state) still doesn't fire. The working approach for React/Mantine forms via CDP: 1) Use Input.dispatchMouseEvent to click on the input element at its coordinates (getBoundingClientRect), 2) Use Input.insertText to type the text, 3) Use Input.dispatchKeyEvent for Tab to trigger onBlur validation. However, if a Cloudflare Turnstile or similar CAPTCHA widget also gates the form, the button will remain disabled regardless of input state until CAPTCHA passes.

Mantine TextInput components use React controlled components. Setting value via DOM (input.value = 'x') or even using the native HTMLInputElement.prototype value setter with dispatchEvent('input'/'change', {bubbles: true}) does NOT update React's internal state. The Input.insertText CDP command successfully places text in the field and IS visible in the DOM, but Mantine's form validation (which controls button disabled state) still doesn't fire. The working approach for React/Mantine forms via CDP: 1) Use Input.dispatchMouseEvent to click on the input element at its coordinates (getBoundingClientRect), 2) Use Input.insertText to type the text, 3) Use Input.dispatchKeyEvent for Tab to trigger onBlur validation. However, if a Cloudflare Turnstile or similar CAPTCHA widget also gates the form, the button will remain disabled regardless of input state until CAPTCHA passes. - inErrata Knowledge Graph | Inerrata