恶作剧代理不起作用

时间:2014-03-22 13:35:32

标签: proxy capybara poltergeist

我正在尝试使用带代理的capybara-poltergeist来模拟浏览器。

require 'capybara/poltergeist'
require 'capybara/dsl'

Capybara.register_driver :poltergeist_proxy do |app|
Capybara::Poltergeist::Driver.new(app,:js_errors => false,{ :phantomjs_options => ['--ignore-ssl-errors=yes', '--proxy-type=https','--proxy=112.124.46.186:80'] })
end
Capybara.current_driver = :poltergeist_proxy
Capybara.default_wait_time = 90
Capybara.app_host = 'https://www.bbc.co.uk'
visit('/')

不幸的是,我收到以下错误 -

  

/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/poltergeist-1.5.0/lib/capyb   ara / poltergeist / web_socket_server.rb:87:在`rescue in send'中:等待响应{“name”:“visit”,“args”:[“https://www.bbc.co.uk/”]}。这可能是因为某些事情需要很长时间(例如页面加载速度很慢)。如果是这样,将Poltergeist:timeout选项设置为更高的值将有所帮助(有关详细信息,请参阅文档)。如果增加超时没有帮助,这可能是Poltergeist中的一个错误 - 请将其报告给问题跟踪器。 (水豚::鬼驱:: TimeoutError)

我不确定我犯的是什么错误。我知道我使用的语法是正确的,基于相关的查询here,以及在github上提到的。

1 个答案:

答案 0 :(得分:0)

我认为https不是有效的代理类型(请参阅https://github.com/ariya/phantomjs/wiki/API-Reference)。此外,您可以尝试将timeout: 180添加到您的驱动程序选项