[英]How to set caret position in contenteditable span and then sendKeys?
<span name="workitemContent" contenteditable="">root 0 child 0 zzzz</span>
例如,我如何使用量角器将光标设置在单词“child”之后,然后将其他文本(带有sendKeys或类似内容)发送到该位置的跨度中?
之后它可能看起来像:
<span name="workitemContent" contenteditable="">root 0 child with red hair 0 zzzz</span>
我已经看到其他问题可以解决如何使用JavaScript(例如如何在contenteditable元素(div)中设置插入符(光标)位置? ),而不是使用量角器。
您可以使用偏移量对元素执行单击 ,例如:
var elm = element(by.name("workitemContent"));
browser.actions().mouseMove(elm, 5, 0).click().perform();
但是,我不确定你是否可以称之为可靠的方法。
另一种选择是遵循您链接的问题中提供的解决方案,并通过browser.executeScript()
执行javascript:
var elm = element(by.name("workitemContent"));
function setCursor(arguments) {
var range = document.createRange();
var sel = window.getSelection();
range.setStart(arguments[0].childNodes[2], arguments[1]);
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);
}
browser.executeScript(setCursor, elm.getWebElement(), 5);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.