Можно использовать Clipboard API, так как в самой MDN предупреждают, что лучше избегать использование document.execCommand
Например, у тебя есть кнопка "Скопировать", которая скопирует содержимое нужного элемента в буфер обмена.
const copyButton = document.querySelector('.button')
Вешаешь обработчик события на эту кнопку и через объект Navigator записываешь в Clipboard нужный фрагмент текста
copyButton.addEventListener('click', () => {
window.navigator.clipboard.writeText(input.value)
})
И теперь нужный текст в буфере обмена