>"URL.txt"文件包含"www.google.com"。 放置显示控制台中的值。但是在启动IE后,在地址栏中它显示"[http:///]"和程序污点。这是我的瓦蒂尔代码。
require 'rubygems'
require 'watir'
File.open("URL.txt", "r").each_line do |line|
puts line
end
a = Watir::Browser.new
a.goto '#{line}'
我做错了什么吗?
您要求IE转到网址#{line}
。如果手动执行此操作,IE 会自动转到 http:///
。
您有 2 个问题:
- 当你做
'#{line}'
时,单引号意味着没有字符串插值 - 即你得到你所看到的。要进行字符串插值,您需要双引号 -"#{line}"
。但是,在这种情况下,您可以简单地执行line
(即行已经是一个字符串)。 - 假设您修复了问题 1,下一个问题是
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