“URL.txt”文件包含“www.google.com”。 puts显示控制台中的值。但是在启动IE之后,在地址栏中显示“[http:///]”并且程序停止了。 这是我的Watir代码。
require 'rubygems'
require 'watir'
File.open("URL.txt", "r").each_line do |line|
puts line
end
a = Watir::Browser.new
a.goto '#{line}'
我做错了吗?
答案 0 :(得分:2)
您要求IE访问网址#{line}
。如果您手动执行此操作,IE会自动转到http:///
。
你有两个问题:
'#{line}'
时,单引号意味着没有字符串插值 - 即你得到你所看到的。要进行字符串插值,您需要双引号 - "#{line}"
。但是,在这种情况下,您只需执行line
(即行已经是一个字符串)。line
中a.goto "#{line}"
未定义。您只在File.open块中定义了它。当您到达a.goto
时,它已不再可用。假设脚本是为了访问文件中的每个url,你可能会这样做:
require 'rubygems'
require 'watir'
File.open("URL.txt", "r").each_line do |line|
puts line
a = Watir::Browser.new
a.goto line
end
或者,如果您使用相同的浏览器访问每个页面:
require 'rubygems'
require 'watir'
a = Watir::Browser.new
File.open("URL.txt", "r").each_line do |line|
puts line
a.goto line
end