我正在对文本编辑器进行更改,我需要能够选择文本以使用JavaScript进行操作。 如何选择黄瓜,水豚和硒的文字?黄瓜+水豚+硒:选择文本
4
A
回答
3
我发现另一个stackoverflow问题,谈论如何使用JavaScript选择文本。
Can you set and/or change the user’s text selection in JavaScript?
我能够修改他们的脚本能够从硒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)
这允许您在单个元素中选择一段文本。 “容器”是包含文本的元素的ID,10和20是要开始和停止的字符的索引。
只需将其压缩到一行,将其添加到Selenium getEval语句中,并且它应该为您选择文本。
如果单个元素中的文本对于您来说不够灵活,JavaScript范围的文档应该为您提供所需的额外详细信息。
+0
谢谢。我搞清楚如何将这个应用到我的设置。 – 2011-02-11 11:57:23
0
绑由Josh建议的方法成水豚辅助函数(和开始/结束元素中添加了对部分选择任意的位置的参数):
module TextSelection
def select_text(startEl, endEl, startPos = 0, endPos = 0)
js = <<-JS
var sel = window.getSelection();
var range = window.document.createRange();
range.setStart(arguments[0],#{startPos});
range.setEnd(arguments[1],#{endPos});
sel.removeAllRanges();
sel.addRange(range);
JS
page.execute_script(js, startEl.native, endEl.native)
end
end
World(TextSelection)
然后,在测试:
start_el = first('#first')
end_el = first('#last')
select_text(start_el, end_el)
相关问题
- 1. 黄瓜/水豚对硒?
- 2. 黄瓜/水豚/硒 - 设置
- 3. 超时::错误与硒/水豚/黄瓜
- 4. 黄瓜,水豚和硒随机工作
- 5. 黄瓜/水豚/硒中的Ajax请求?
- 6. 黄瓜vs水豚
- 7. 水豚黄瓜匹配器
- 8. 传递黄瓜和水豚
- 9. 黄瓜水豚步功能
- 10. 黄瓜,水豚和ElementNotFound
- 11. 黄瓜水豚fill_in失败
- 12. 表订购黄瓜水豚
- 13. 黄瓜+水豚+硒测试失败,试图选择隐藏的单选按钮
- 14. 黄瓜与水豚:如何取消选择单选按钮
- 15. 选择多个选项都与水豚黄瓜
- 16. 黄瓜,水豚和硒 - 提交表单没有按钮
- 17. 如何处理水豚,硒和黄瓜框架的灯箱?
- 18. 硒,水豚和黄瓜测试拖放重新排序
- 19. 如何处理黄瓜+水豚+硒中的Modals
- 20. 导轨,黄瓜,水豚 - 黄瓜一步不能按下按钮
- 21. 硒,黄瓜和小黄瓜
- 22. 水豚/黄瓜找不到收音机
- 23. 水豚黄瓜只有空白页
- 24. 水豚&黄瓜|获取饼干
- 25. 语法错误黄瓜+水豚
- 26. 黄瓜/水豚场景使用引号
- 27. 黄瓜/水豚表中的变量
- 28. 轨,黄瓜,水豚:会话不持久
- 29. 黄瓜/水豚测试x标签
- 30. 水豚和黄瓜CSS定位
这个标题听起来像一个致命的* hors d'œuvre*的食谱。只是说。请原谅这个评论的星期五。 – MPelletier 2010-12-17 19:02:19