我目前必须做一份工作,我必须将网站的代码复制到文本字段中.
我正在使用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的文字,这就是我知道这个数字的方式.]
问题出在哪儿?由于某种原因,ruby是否给我的琴弦一个有限的尺寸?我可以以某种方式解除这个障碍吗?
还有另一种填充text_field的方法吗?
最佳答案 试试.value方法
browser.text_field(:id =>“text”).value =(open(‘my-site.html’){| f | f.read})
要么
我认为变音符号的错误打印与您机器上的代码页设置和您正在阅读的文件有关.您可能需要尝试从一个代码页转到另一个代码页…我猜您的源文件是CP850或者甚至是UTF-8而且我认为您需要西欧来获得变音符号…但是作为澳大利亚人我真的没有想法=)
http://en.wikipedia.org/wiki/ISO_8859
例如
require 'iconv'
browser.text_field(:id => "text").value=(
Iconv.iconv('CP850', 'ISO-8859-1', open('my-site.html') { |f| f.read })
)