如何使用基于位置的watir从ruby中的文本文件中读取值

时间:2012-09-05 07:51:42

标签: html ruby text watir

有人可以帮助我使用Watir在Ruby中编写代码,以便我可以根据位置从给定的文本文件中读取任何值,并将其用作Web应用程序中任何字段的参数。

我是Ruby新手,不知道如何实现这个解决方案。

我需要的是,例如,假设d驱动器主文件夹中有一个名为“Test.txt”的文本文件。说它有这样的文字

13085216660000019999

在上面的文本中,我想读取位置4到8的值,即'8521'并将其存储为变量,并在文本字段中使用它,如下所示

ie.textField(:name,“de2”)。set'从阅读文件得到的变量'

1 个答案:

答案 0 :(得分:2)

这样的东西? [3..6]表示第4个位置(从0开始)到第8个

def my_method var
  puts var
end

File.read("read_var_from_file.txt").each_line{ |line|my_method line[3..6] }

文件内容为

13085216660000019999
13085226660000019999
13085236660000019999

作为输出

8521
8522
8523

编辑:根据此处的评论,另一个版本可让您按行更改开始和结束位置

def read_var file, line_nr, vbegin, vend
    IO.readlines(file)[line_nr][vbegin..vend]
end

puts read_var("read_var_from_file.txt", 0, 1, 3) #line 0, beginning at 1, ending at 3
#=>308

puts read_var("read_var_from_file.txt", 1, 3, 6)

#=>8522