“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}'
我做错什么了吗?
“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}'
我做错什么了吗?
你要求 IE 去 url #{line}
。如果您手动执行此操作,IE 会自动转到http:///
.
你有2个问题:
'#{line}'
时,单引号意味着没有字符串插值 - 即你得到你所看到的。要进行字符串插值,您需要双引号 - "#{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