黄瓜 + 水豚 + Selenium:选择文本

Ram*_*yag 5 testing selenium cucumber capybara

我正在对文本编辑器进行更改,我需要能够选择文本以使用 JavaScript 对其进行操作。如何使用 Cucumber、Capybara 和 Selenium 选择文本?

Jos*_*ice 3

我发现了另一个 stackoverflow 问题,讨论如何使用 JavaScript 选择文本。

\n\n

您可以在 JavaScript 中设置和/或更改 user\xe2\x80\x99s 文本选择吗?

\n\n

我能够修改他们的脚本,以便能够在 Selenium IDE 的 getEval 调用中工作(如果您以不同的方式使用 Selenium,您可能需要修改它)。我还删除了与 Firefox 无关的代码:

\n\n
function selectElementContents(el,start,end) {\n    var sel = window.getSelection();\n    var range = window.document.createRange();\n    range.setStart(el,start);\n    range.setEnd(el,end);\n    sel.removeAllRanges();\n    sel.addRange(range);\n}\nselectElementContents(window.document.getElementById("container").firstChild,10,20)\n
Run Code Online (Sandbox Code Playgroud)\n\n

这允许您选择单个元素内的文本范围。“Container”是包含文本的元素的 ID,10 和 20 是开始和结束字符的索引。

\n\n

只需将其压缩为一行,将其添加到 Selenium getEval 语句中,它就会为您选择文本。

\n\n

如果单个元素中的文本对您来说不够灵活,有关 JavaScript 范围的文档应该可以为您提供所需的额外详细信息。

\n