我正试图用代理软件来模仿浏览器。
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:在‘救援中发送’:超时等待响应{“名称”:“访问”,"args":["https://www.bbc.co.uk/"]}。可能发生这种情况是因为某些事情花费了很长时间(例如,页面加载速度很慢)。如果是这样的话,将Poltergeist :timeout选项设置为更高的值将有帮助(有关详细信息,请参阅docs )。如果增加超时没有帮助,这可能是一个错误在Poltergeist -请报告它的问题跟踪。(水豚::投手::时间犯错误)
我不知道我犯了什么错误。我知道我使用的语法是正确的,基于相关的查询here,以及在github中提到的语法。
发布于 2014-06-11 19:39:14
我不认为https是一个有效的代理类型(参见https://github.com/ariya/phantomjs/wiki/API-Reference)。此外,还可以尝试将timeout: 180添加到驱动程序选项中。
https://stackoverflow.com/questions/22578302
复制相似问题