我发现了另一个 stackoverflow 问题,讨论如何使用 JavaScript 选择文本。
您可以在 JavaScript 中设置和/或更改用户的文本选择吗? https://stackoverflow.com/questions/4183401/can-you-set-and-or-change-the-users-text-selection-in-javascript
我能够修改他们的脚本,以便能够在 Selenium IDE 的 getEval 调用中工作(如果您以不同的方式使用 Selenium,则可能需要修改它)。我还删除了与 Firefox 无关的代码:
function selectElementContents(el,start,end) {
var sel = window.getSelection();
var range = window.document.createRange();
range.setStart(el,start);
range.setEnd(el,end);
sel.removeAllRanges();
sel.addRange(range);
}
selectElementContents(window.document.getElementById("container").firstChild,10,20)
这允许您选择单个元素内的文本范围。 “Container”是包含文本的元素的 ID,10 和 20 是开始和结束字符的索引。
只需将其压缩为一行,将其添加到 Selenium getEval 语句中,它就会为您选择文本。
如果单个元素中的文本对您来说不够灵活,JavaScript 范围的文档应该可以为您提供所需的额外详细信息。