Firefox Webdriver需要很长时间才能在多线程

时间:2017-07-23 06:12:58

标签: ruby multithreading selenium firefox

我尝试从我的ruby代码中打开多个Firefox浏览器实例。

我使用selenium 2.53.4和firefox 47.0.2

问题是在创建线程后,驱动程序不会立即启动。它花了很长时间才打开。第二个驱动程序将在第一个驱动程序几乎完成后打开,这使得多线程无用。

这是我的代码

require "selenium-webdriver"
th = Array.new
i = 0
limit = 3
while i < 10
  if(Thread.list.count <= 3)
    th[i] = Thread.new(i){ |index|
      start = Time.new
      puts "#{index} - Start Initiate at #{start}"
      driver = Selenium::WebDriver.for :firefox
      finish = Time.new
      puts "#{index} - Finish Initiate at #{finish}"
      driver.get "http://google.com"
      sleep(10)
      driver.quit
      puts "#{index} - Finished"
    }
    i = i + 1
    puts "Thread - #{i} Created"
  end # end if
end # end while
th.each{|t|
  if(!t.nil?)
    t.join
  end
}

我是否正确编码了?或者是Firefox的限制?还是硒?

注意:

  • 当我删除线程时,花费较少的时间(大约6秒,直到导航到预期的URL)
  • 使用chrome驱动程序很好用

0 个答案:

没有答案