Watir: Watir-WebDriver对富文本编辑器的定位于Watir是不一致的。

Watir对富文本编辑,一般可以采用b.frame().document.body.innerText = "Value you want to insert"
但是Watir-WebDriver不支持这种方法。
不过有两种方法可以通过Watir-WebDriver向所见即所得编辑器(应该指的是富文本编辑器)中输入文字:
定位编辑器所在的iFrame,然后使用.send_keys方法(缺点是浏览器必须在前台运行)
在浏览器上执行javascript,通过js脚本去设置编辑器的值。

#CKEditor
require 'watir-webdriver'
b = Watir::Browser.new :firefox
b.goto 'http://ckeditor.com/demo'
b.execute_script("CKEDITOR.instances['editor1'].setData('hello world');")
b.frame(:title => 'Rich text editor, editor1, press ALT 0 for help.').send_keys 'hello world again'
#TinyMCE Editor require
'watir-webdriver' b = Watir::Browser.new b.goto 'http://tinymce.moxiecode.com/tryit/full.php' b.execute_script("tinyMCE.get('content').execCommand('mceSetContent',false, 'hello world' );") b.frame(:id => "content_ifr").send_keys 'hello world again'

 

posted @ 2013-08-16 16:50  chenpassion  阅读(433)  评论(0编辑  收藏  举报