填充textform - 字符串太小?

时间:2011-05-06 21:22:48

标签: ruby arrays string textfield watir

我目前必须做一份工作,我必须将网站代码复制到文本字段中。

我正在使用watir进行浏览器处理。据我所知,我只能使用set函数填充该字段,这意味着我必须执行类似

的操作
browser.text_field(:id => "text").set sitetext

sitetext是我正在复制到其中的网站代码。 我之前已经将文件中的代码加载到数组中,然后将其推入字符串(可能不是最好的选择,但对我来说最简单),使用以下代码。

contentArray=Array.new
inputFile=File.open("my-site.html")
inputFile.each{|line| contentArray<<line}
inputFile.close

现在,当我执行第一个命令填写text_field时,它会慢慢输入所有字母(有一种简单的方法可以加快速度吗?),但是在692个字符后,它会在句子中间停止。 [我粘贴了输入charcounter.com的文字,这就是我知道这个数字的方式。]

问题出在哪里?由于某种原因,红宝石是否给我的琴弦一个有限的尺寸?我可以以某种方式解除这个障碍吗?

还有另一种填充text_field的方法吗?

1 个答案:

答案 0 :(得分:2)

尝试.value方法

browser.text_field(:id => "text").value=(open('my-site.html') { |f| f.read })

OR

我认为变音符号的错误打印与您机器上的代码页设置和您正在阅读的文件有关。您可能需要尝试从一个代码页转到另一个代码页...我猜您的源文件是CP850或者甚至是UTF-8而且我认为您需要西欧来获得变音符号...但是作为澳大利亚人我真的没有想法=) http://en.wikipedia.org/wiki/ISO_8859

e.g。

require 'iconv'

browser.text_field(:id => "text").value=(
  Iconv.iconv('CP850', 'ISO-8859-1', open('my-site.html') { |f| f.read })
)