我想在挂起时重新启动我的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.
答案 0 :(得分:1)
page.driver.quit
应该退出selenium :: webdriver实例,然后在下次使用会话时自动启动一个新实例。
答案 1 :(得分:0)
您可以使用下面提到的方法重启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
希望这会有所帮助:)