【发布时间】:2019-01-13 18:10:44
【问题描述】:
我正在尝试使用 Cypress 在 textarea 中选择文本,但遇到了一些问题。 Cypress api 没有我能找到的开箱即用的方法,所以我尝试自己实现它。
我找到了this stackoverflow answer about selecting text 并决定效仿它。我得到的是这样的:
selectTextWithin = (selector: string) => {
cy.document().then((doc: Document) => {
cy.window().then((win: Window) => {
cy.get(selector).then((textElement: JQuery<HTMLElement>) => {
if (win.getSelection) {
const selection = win.getSelection();
const range = doc.createRange();
range.selectNodeContents(textElement.get(0));
selection.removeAllRanges();
selection.addRange(range);
} else {
throw new Error("Can't select text.")
}
})
})
})
}
它执行没有错误,但似乎没有选择任何文本。
【问题讨论】:
-
如果你想选择整个内容,那么它只是
textElement.get(0).select()。 developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/…
标签: javascript typescript cypress