Capybara Selenium Phantomjs浏览器初始化

时间:2015-12-02 18:31:34

标签: phantomjs capybara

我想将headybara用于无头浏览器,但我想使用这个驱动程序:Selenium :: WebDriver :: Remote :: Http :: Default.new

如何将此驱动程序用于水豚?需要知道使用该驱动程序而不是poltergeist或webkit的浏览器初始化。

这是capybara中chrome初始化的示例: Capybara :: Selenium :: Driver.new(app,:browser =>:chrome)

2 个答案:

答案 0 :(得分:0)

Selenium :: WebDriver :: Remote :: Http :: Default.new不是驱动程序 - 它是一个可供司机使用的http_client - 我想你要求的是使用Selenium :: WebDriver :: Remote :: Bridge的实例,可以使用

完成
Capybara::Selenium::Driver.new(app, browser: :remote, ...)

其中......包括其他选项,例如:http_client,:desired_capabilites,:url(将控制实际浏览器的远程服务器的url)

这些问题的标题提到了幻影,但在实际问题中从未提及过。如果那就是你真正想要的那么它就是

Capybara::Selenium::Driver.new(app, browser: :phantomjs, ...)

其中有类似的选项http_client,desired_capabilities,url,args,port

答案 1 :(得分:0)

对于Capybara,你可以在Phantomjs的顶部使用Poltergeist驱动程序。要使用它,您需要按gem install poltergeist安装它,或将此gem "poltergeist"添加到您的Gemfile并运行bundle install。然后向您的env.rb添加poltergeist选项并更改您的Capybara.javascript_driver = :poltergeist。请参阅以下示例:

require 'capybara/poltergeist'

Capybara.register_driver :poltergeist do |app|
   options = {
      :js_errors => false ,
      # :timeout => 120,
      # :debug => true,
      # :inspector => true,
      # :window_size => [1280, 1024],
      # :logger => false,
      # :inspector => false,
      # :visible => false,
      :js => true,
      :timeout => 10000,
      :phantomjs_options => %w[--load-images=no]

   }
   Capybara::Poltergeist::Driver.new(app, options)
end

Capybara.javascript_driver = :poltergeist