Capybara/Poltergeist DOM 加载问题

Capybara/Poltergeist DOM loading issues

我正在为一个网站编写使用 Capybara/Poltergeist 组合的测试套件,我遇到了 DOM 似乎没有加载我尝试做的任何事情的情况。 我从网站快照中看到只有页脚和页眉,没有页面的主要组成部分。

例如这样的页面:https://www.udemy.com/courses/business/finance/all-courses/?lang=en&ordering=newest

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)

仅显示页眉和页脚。

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

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

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