youtube视频中的Phantom JS错误

Tom*_*ats 5 rspec ruby-on-rails capybara phantomjs poltergeist

Phantom JS版本:1.9.1 Poltergeist版本:1.3.0

从今天开始,youtube嵌入式视频现在在运行javascript测试时出现了一个恶作剧错误.我的youtube代码只是默认的嵌入youtube代码.这是一个例子:

<iframe width="560" height="315" src="//www.youtube.com/embed/AW9Z3cGOlGM?rel=0" frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

我在启用javascript时访问该页面时得到的错误是:

 Failure/Error: page.find(".container.registrations.false.government")["style"].should have_content("test.jpg")
 Capybara::Poltergeist::JavascriptError:
   One or more errors were raised in the Javascript code on the page. If you don't care about these errors, you can ignore them by setting js_errors: false in your Poltergeist configuration (see documentation for details).

   TypeError: 'null' is not an object (evaluating 'a.dataset')
       at http://s.ytimg.com/yts/jsbin/www-embed-player-vfl6vSff7.js:97
       at http://s.ytimg.com/yts/jsbin/www-embed-player-vfl6vSff7.js:88 in vg
       at http://s.ytimg.com/yts/jsbin/www-embed-player-vfl6vSff7.js:85
       at http://s.ytimg.com/yts/jsbin/www-embed-player-vfl6vSff7.js:98
Run Code Online (Sandbox Code Playgroud)

在一些测试中,poltergeist就死了..

 Failure/Error: visit root_path
 Capybara::Poltergeist::DeadClient:
   PhantomJS client died while processing {"name":"visit","args":["http://subdomain13.lvh.me:3003/"]}
Run Code Online (Sandbox Code Playgroud)

此外,它在执行时不会忽略这些错误:

Capybara.register_driver :poltergeist_without_js do |app|
  Capybara::Poltergeist::Driver.new(app, :js_errors => false)
end
Capybara.javascript_driver = :poltergeist_without_js
Run Code Online (Sandbox Code Playgroud)

Jor*_*itt 2

这是嵌入 JS 处理不支持 flash 或 html5 视频的浏览器中的一个错误:

讨论:https://productforums.google.com/d/topic/youtube/2Cu87teAGYE/discussion

错误报告位于https://code.google.com/p/gdata-issues/issues/detail?id=5883