在地址栏中输入“http ///”

时间:2013-11-13 19:08:10

标签: watir

“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}'
我做错了吗?

1 个答案:

答案 0 :(得分:2)

您要求IE访问网址#{line}。如果您手动执行此操作,IE会自动转到http:///

你有两个问题:

  1. 当你执行'#{line}'时,单引号意味着没有字符串插值 - 即你得到你所看到的。要进行字符串插值,您需要双引号 - "#{line}"。但是,在这种情况下,您只需执行line(即行已经是一个字符串)。
  2. 假设您修复了问题1,下一个问题是linea.goto "#{line}"未定义。您只在File.open块中定义了它。当您到达a.goto时,它已不再可用。
  3. 假设脚本是为了访问文件中的每个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