Ruby on rails 4 水豚/恶灵DOM装载问题

Ruby on rails 4 水豚/恶灵DOM装载问题,ruby-on-rails-4,phantomjs,capybara,poltergeist,Ruby On Rails 4,Phantomjs,Capybara,Poltergeist,我正在为一个网站编写一个使用Capybara/Poltergeist组合的测试套件,我遇到了这样一种情况:DOM似乎没有加载我尝试执行的任何操作。 我可以从网站快照中看到,只有页脚和页眉在那里,而不是页面的主要组件 例如,一个页面,例如: 只显示页眉和页脚 我想这是因为一些DOM元素是异步加载的,在我当前的网站上我也遇到了同样的问题 在这里停留了2天,有没有关于如何正确加载页面的建议?谢谢您很可能需要将phantomjs更新到2.0+。我猜您正在使用的PhantomJS 1.9.8大致相当于Sa

我正在为一个网站编写一个使用Capybara/Poltergeist组合的测试套件,我遇到了这样一种情况:DOM似乎没有加载我尝试执行的任何操作。 我可以从网站快照中看到,只有页脚和页眉在那里,而不是页面的主要组件

例如,一个页面,例如:

只显示页眉和页脚

我想这是因为一些DOM元素是异步加载的,在我当前的网站上我也遇到了同样的问题


在这里停留了2天,有没有关于如何正确加载页面的建议?谢谢

您很可能需要将phantomjs更新到2.0+。我猜您正在使用的PhantomJS 1.9.8大致相当于Safari 5 iirc,似乎不适用于udemy站点。

只是为了调试:睡眠时间更长有帮助吗?我对这段代码没有问题。身体负荷。查看此帖子:@JaredBeck我试着睡了100个也没用。@MesutGüneş非常奇怪。我似乎不能用这个代码来解释。因此,如果问题不在代码范围内,是否可能是一些配置问题?thxmay更新gems解决了这个问题。它成功了!将phantomjs从1.9.8更新到2.0成功了。谢谢!请注意,最新版本的poltergeist(1.7.0)在使用PhantomJS 2.0时不会上载文件,主分支已修复此问题
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, js_errors: false,   debug: false, # change this to true to troubleshoot
 window_size: [1300, 1000] # this can affect dynamic layout
)
end
browser=Capybara.current_session
browser.visit "https://www.udemy.com/courses/business/finance/all-courses/?lang=en&ordering=newest"

sleep 15  ##giving it time to load
browser.save_screenshot('app/file1.png', full: true)