const browser = require('../browser'); module.exports = async ({ sourceSelector, targetSelector }) => { if (!sourceSelector || !targetSelector) { throw new Error('sourceSelector e targetSelector são obrigatórios'); } await browser.start(); const result = await browser.evaluateJS(` (function() { const source = document.querySelector('${sourceSelector}'); const target = document.querySelector('${targetSelector}'); if (!source || !target) return { success: false, error: 'Element not found' }; const sourceRect = source.getBoundingClientRect(); const targetRect = target.getBoundingClientRect(); source.dispatchEvent(new DragEvent('dragstart', { bubbles: true })); target.dispatchEvent(new DragEvent('dragover', { bubbles: true })); target.dispatchEvent(new DragEvent('drop', { bubbles: true })); source.dispatchEvent(new DragEvent('dragend', { bubbles: true })); return { success: true, sourceRect, targetRect }; })() `); return { success: true, action: 'drag_and_drop', ...result }; };