【发布时间】:2021-02-28 00:29:03
【问题描述】:
如何模拟在 contenteditable 元素中输入一些文本? 我需要模拟一切,因为用户将事件将用于测试目的。 我可以通过以下方式触发事件:
node.dispatchEvent(new KeyboardEvent('keydown', {key: 'A'}))
node.dispatchEvent(new KeyboardEvent('keyup', {key: 'A'}))
但它不会打印A。所以我必须使用 API:
node.innerHTML += 'A'
但是光标会在不同的地方,所以我需要创建一个范围。
let r = document.createRange()
r.selectNodeContents(editor)
r.collapse(false)
let s = window.getSelection()!
s.removeAllRanges()
s.addRange(r)
模拟箭头呢?如何模拟向上箭头?也许有一些图书馆可以做到这一点?
【问题讨论】:
标签: javascript testing automation