我在 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。您将需要 polyfill forEach 或使用 ES 5 兼容方法重写您的代码。
关于javascript - "TypeError: undefined is not a constructor"与 capybara (PhantomJS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44915507/