我是Watir和Ruby的新用户。我有一个watir-webdriver脚本,填写页面上的表单并提交它们。该页面有几个Redactor WYSIWYG编辑框,我试图向他们发送文本。最初我做了以下事情:
@browser.div(:id => 'redactor-container-5').send_keys 'automated test script'
然而,我随后发现Firefox必须处于前台才能实现这一点(这对我的团队来说是一个问题,因为他们运行的脚本有时会在后台运行)。所以我使用了一些JavaScript来填写相同的字段。
@browser.execute_script('var html="automated test script"; $(".redactor, .redactorCaption, .redactorTitle").redactor("insertHtml", html);')
然而,这也要求浏览器处于前台(这在前台完全正常)。我看了this link,但没有Redactor示例。有人知道如何在后台设置这些字段吗?
答案 0 :(得分:1)
我刚刚在我的机器上进行了测试,即使FF最小化也能正常工作。
irb(main):001:0> require "watir-webdriver"
=> true
irb(main):002:0> b = Watir::Browser.new :ff
=> #<Watir::Browser:0x454b6ab6 url="about:blank" title="">
irb(main):003:0> b.goto "http://imperavi.com/redactor/"
=> "http://imperavi.com/redactor/"
irb(main):004:0> b.div(:class => 'redactor_ redactor_editor').send_keys 'automated test script'
=> ""
在执行最后一步之前,我实际上最小化了Firefox。
的Env。细节:
运行Windows 7 Enterpricse SP1(64位)
Firefox 24.4.0 ESR
watir-webdriver(0.6.9)