使用webdriver,ruby和变量将文本输入tinymce

时间:2014-04-23 23:39:34

标签: ruby parameters tinymce webdriver

我正在使用webdriver和Ruby ...

所以我能够使用下面的脚本将文本写入tinymce字段。但是在最后一行,driver.execute ...我想改变静态值' bob'作为传递的变量的值,parValue。我尝试了对driver.execute_script行的一些修改,但我仍然遇到错误。换句话说,我不知道javascript,我无法找到办法。

我已经尝试更换代码并使用sendkeys,但这并没有在我的tinymce框中打印任何东西。有没有办法使用从parValue传入的值并替换' bob'?

def enterValues(driver,parField,parValue)
  tinymce_frame = driver.find_element(:id => parField)
  driver.switch_to.default_content
  driver.switch_to.frame(tinymce_frame)     
  editor_body = driver.find_element(:tag_name => 'body')
  driver.execute_script("arguments[0].innerHTML = 'bob'", editor_body)

end

1 个答案:

答案 0 :(得分:0)

这看起来很简单,所以我担心我可能会误解,但您可以使用ruby的字符串插值将bob替换为parvalue

def enterValues(driver,parField,parValue)
  tinymce_frame = driver.find_element(:id => parField)
  driver.switch_to.default_content
  driver.switch_to.frame(tinymce_frame)     
  editor_body = driver.find_element(:tag_name => 'body')
  driver.execute_script("arguments[0].innerHTML = '#{parValue}'", editor_body)

end