在地址栏中获取"http///"



>"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 个问题:

  1. 当你做'#{line}'时,单引号意味着没有字符串插值 - 即你得到你所看到的。要进行字符串插值,您需要双引号 - "#{line}" 。但是,在这种情况下,您可以简单地执行line(即行已经是一个字符串)。
  2. 假设您修复了问题 1,下一个问题是linea.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

最新更新