我在Capybara功能测试中遇到了JavaScript错误。 但是普通的chrome浏览器不会发生错误。 JavaScript 代码如下。
document.addEventListener('DOMContentLoaded', function(){
var enable = function(){
document.querySelectorAll('input').forEach(function(e){ e.disabled = false });
}
/* do something ..*/
enable();
}
错误消息是TypeError: undefined is not a constructor (evaluating 'form.querySelectorAll('input').forEach(function(e){ e.disabled = false })')
。 我认为这与未定义的forEach
回报有关。
>forEach
是 ES 5.1/6 方法,但当前版本的 PhantomJS 最多只支持 ES 5。 您需要为 Each 填充代码或使用 ES 5 兼容方法重写代码。