Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Phantomjs Casperjs没有';不执行javascript代码_Phantomjs_Casperjs_Slimerjs - Fatal编程技术网

Phantomjs Casperjs没有';不执行javascript代码

Phantomjs Casperjs没有';不执行javascript代码,phantomjs,casperjs,slimerjs,Phantomjs,Casperjs,Slimerjs,我有一个页面,我引用了一堆在页面标题中带有正则脚本标记的脚本:jQuery等,以及我编译的脚本index.js。后者很大,大约1.2米(不要问为什么) 我的index.html如下所示: <html> <head> <title>Cool</title> <script src='jQuery.js'></script> <!-- more scripts --> <script src='index.js

我有一个页面,我引用了一堆在页面标题中带有正则脚本标记的脚本:jQuery等,以及我编译的脚本index.js。后者很大,大约1.2米(不要问为什么)

我的index.html如下所示:

<html>
<head>
<title>Cool</title>
<script src='jQuery.js'></script>
<!-- more scripts -->
<script src='index.js'></script>
<!-- more stuff -->
另一方面,jQuery在任何一种环境中都会初始化,我可以在evaluate上下文中运行jQuery代码,因此这将通过:

casper.test.begin('jQuery works', 1, function suite(test) {
    casper.start(host);

    casper.waitFor(
        function () {
            return casper.evaluate(function () {
                try {
                    return !!$('html').length;
                }
                catch (e) {
                    return false;
                }
            });
        },
        function () {
            test.pass('jQuery works');
        },
        function () {
            test.fail('jQuery did not init');
        });

    casper.run(function () {
        test.done();
    });
});
如果我注销页面事件,我可以看到index.js加载的HTTP结果为200,它就不会被执行


以前有人经历过吗?PhantomJS或SlimeJS在脚本大小/复杂性方面是否有一些特定于平台的限制?

您使用哪个PhantomJS和Slimer.js版本?请注册到
resource.error
page.error
remote.message
casper.page.onResourceTimeout
事件()。也许有错误。是的,我经历过。没有任何错误消息。CasperJS的beta值为1.1,PhnatomJS的beta值为2.0,SlimerJS的beta值为0.9.6。不过我试过了casperjs@master但是没有人知道luck.PhantomJS 2.0.0会隐藏一些错误。你为什么不试试1.9.8呢?你是对的,这个错误被PhantomJS2.0隐藏了。我在1.9.2中得到了“Error:SyntaxError:Parse Error”。所以,在我编译的JS文件中应该有一些隐藏的ES6相关代码。这应该是OSX上测试用例失败的原因,因为它是。谢谢你,你帮了我很多!
casper.test.begin('jQuery works', 1, function suite(test) {
    casper.start(host);

    casper.waitFor(
        function () {
            return casper.evaluate(function () {
                try {
                    return !!$('html').length;
                }
                catch (e) {
                    return false;
                }
            });
        },
        function () {
            test.pass('jQuery works');
        },
        function () {
            test.fail('jQuery did not init');
        });

    casper.run(function () {
        test.done();
    });
});