Watir如何打开多个浏览器窗口或选项卡

5

我该如何使用我的代码-watir打开多个浏览器,例如通过一个while循环从0到10?

这是我的代码:

require 'watir-webdriver'
require 'headless'
class Page
    @headless = Headless.new
    @headless.start
    @browser = Watir::Browser.start 'bit.ly/***'
    def self.get_connection

        puts "Browser started"  
        puts @browser.title
        @browser.driver.manage.timeouts.implicit_wait = 3 #3 seconds

        @browser.select_list(:name => 'ctl00$tresc$111').select_value('6')
        puts "Selected country"  
        @browser.select_list(:name => 'ctl00$tresc$222').wait_until_present
        @browser.select_list(:name => 'ctl00$tresc$333').select_value('95')
        puts "Selected city" 
    end

    def self.close_connection
        @browser.close
        @headless.destroy
    end
end

Page.get_connection
Page.close_connection

但是如何做到这一点呢?
while i < 10
Page.get_connection
end
1个回答

4

这应该会打开十个浏览器:

10.times {Watir::Browser.new}

如果您想稍后使用浏览器,则可以将它们放在哈希中:

browsers = {}
(0..9).each {|i| browsers[i] = Watir::Browser.new}
browsers[0].goto "google.com"
browsers[1].goto "yahoo.com"

但同时也要学习如何通过类变量 @ 进行操作。 - brabertaser19
1
只需将 browsers[i] 替换为 @browsers[i]。你应该读一本关于 Ruby 的书。当你了解这种语言的基础知识时,编写 Ruby 代码就会变得更加容易。 - Željko Filipin
我只是不知道类变量可以写成数组。 - brabertaser19
3
这实际上是一个哈希。阅读一本关于Ruby的书会对你有很大帮助。 :) - Željko Filipin
如果可以的话,不要只给5分,而是给高于平均水平的评价。我在第一次尝试时就在oDesk上完成了Ruby测试。 - brabertaser19
我并不是想说你很蠢。如果听起来像这样,我向你道歉。我注意到你不知道一些基础知识,所以我建议你看一本书。仅此而已。我也不知道很多东西。 - Željko Filipin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接