挂起时需要重启 PhantomjS
Need to Restart PhantomjS when it hangs
我想在挂起时重新启动我的 Phantomjs 驱动程序。我有一个重启 poltergiest 的例子如下:
if driver.is_a?(Capybara::Poltergeist::Driver)
driver.restart
end
我没有使用 Poltergeist 驱动程序。我正在使用如下所示的 phantomjs 驱动程序对象:
Capybara::Selenium::Driver.new(app, :browser => :phantomjs)
我需要知道如何重启 phantomjs 驱动程序。我需要这样的东西:
Capybara.page.driver.restart.
page.driver.quit
应该退出 selenium::webdriver 实例,然后在下次使用会话时自动启动一个新实例。
您可以使用下面提到的方法重启phantomjs
def restart_phantomjs
puts "-> Restarting phantomjs: iterating through capybara sessions..."
session_pool = Capybara.send('session_pool')
session_pool.each do |mode,session|
msg = " => #{mode} -- "
driver = session.driver
if driver.is_a?(Capybara::Poltergeist::Driver)
msg += "restarting"
driver.restart
else
msg += "not poltergeist: #{driver.class}"
end
puts msg
end
end
module_function :restart_phantomjs
end
希望这对您有所帮助:)
我想在挂起时重新启动我的 Phantomjs 驱动程序。我有一个重启 poltergiest 的例子如下:
if driver.is_a?(Capybara::Poltergeist::Driver)
driver.restart
end
我没有使用 Poltergeist 驱动程序。我正在使用如下所示的 phantomjs 驱动程序对象:
Capybara::Selenium::Driver.new(app, :browser => :phantomjs)
我需要知道如何重启 phantomjs 驱动程序。我需要这样的东西:
Capybara.page.driver.restart.
page.driver.quit
应该退出 selenium::webdriver 实例,然后在下次使用会话时自动启动一个新实例。
您可以使用下面提到的方法重启phantomjs
def restart_phantomjs
puts "-> Restarting phantomjs: iterating through capybara sessions..."
session_pool = Capybara.send('session_pool')
session_pool.each do |mode,session|
msg = " => #{mode} -- "
driver = session.driver
if driver.is_a?(Capybara::Poltergeist::Driver)
msg += "restarting"
driver.restart
else
msg += "not poltergeist: #{driver.class}"
end
puts msg
end
end
module_function :restart_phantomjs
end
希望这对您有所帮助:)