Ruby on rails Poltergeist和onResourceReceived函数的使用

Ruby on rails Poltergeist和onResourceReceived函数的使用,ruby-on-rails,xmlhttprequest,capybara,phantomjs,poltergeist,Ruby On Rails,Xmlhttprequest,Capybara,Phantomjs,Poltergeist,在我的项目中,我必须刮几页纸。我用水豚和幻影来做这个。我有一个问题,其中一些页面发送异步XHR请求,我需要阻止它们 我找到了这个案子的解决办法。Phantomjs可以处理请求并中止它- 我编写了js脚本来记录和中止请求: page.onResourceRequested=函数请求,净{ log'Request'+requestData.id+':'+JSON.stringifyrequestData; net.abort; }; 并将其添加到init驱动程序中 但它不起作用。。。 我认为问题在

在我的项目中,我必须刮几页纸。我用水豚和幻影来做这个。我有一个问题,其中一些页面发送异步XHR请求,我需要阻止它们

我找到了这个案子的解决办法。Phantomjs可以处理请求并中止它-

我编写了js脚本来记录和中止请求:

page.onResourceRequested=函数请求,净{ log'Request'+requestData.id+':'+JSON.stringifyrequestData; net.abort; }; 并将其添加到init驱动程序中

但它不起作用。。。 我认为问题在于js变量页面,因为这个变量没有定义

扩展:选项只是在浏览器中预加载一些javascript文件

要加载一些js首选项,请按如下方式重写查询:

Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app,
    :phantomjs_options => [File.expand_path("../lib/phantomjs/abort_async.js", __FILE__),
                        '--debug=no',
                        '--load-images=no',
                        '--ignore-ssl-errors=yes',
                        '--ssl-protocol=TLSv1'],
    extensions: [],
    :debug => false,
    js_errors: false)
end
poltergeist现在支持url黑名单和白名单,和capybara webkit一样。


您可以将异步请求的服务器URL列入黑名单。这可能有助于理解这些功能。

Hello@Fist!你成功了吗?不,我还在等解决办法。。。
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app,
    :phantomjs_options => [File.expand_path("../lib/phantomjs/abort_async.js", __FILE__),
                        '--debug=no',
                        '--load-images=no',
                        '--ignore-ssl-errors=yes',
                        '--ssl-protocol=TLSv1'],
    extensions: [],
    :debug => false,
    js_errors: false)
end
page.driver.browser.url_blacklist = ['http://www.example.com']