首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CasperJS不评估jQuery方法

CasperJS不评估jQuery方法
EN

Stack Overflow用户
提问于 2015-07-22 14:43:45
回答 1查看 2K关注 0票数 0

我将jQuery注入CasperJS:

代码语言:javascript
复制
phantom.injectJs('./utils/jquery/jquery-2.1.4.js');

但是,当我试图计算一些jQuery代码时,它被忽略了:例如:

代码语言:javascript
复制
function dragNdropAlertToActivity() {
    var tt = casper.evaluate(function() {
        $('div[id^="scheduler-alert-grid"] table:contains(BLUE ALERT)')[0].simulate("drag-n-drop", {
            dragTarget: {
                dx: 71,
                dy: 71,
                interpolation: {
                    stepCount: 2
                }
            }
        });
        return "done";
    });
    casper.echo(tt);
};

调用方法,如:casper.test.begin(function(){...})。测试使用:casperjs test tests执行

输出显示找不到$

当我编写一个简单的选择器时,它为什么要忽略jQuery?

EN

回答 1

Stack Overflow用户

发布于 2015-07-22 15:11:04

phantom.injectJs()文档清楚地说明了(强调我的):

将指定文件的外部脚本代码注入幻影外部空间。

这意味着jQuery不会注入到尝试使用它的页面上下文中。

您可以使用手动方法(ref):

代码语言:javascript
复制
casper.then(function doSomething() {
    this.page.injectJs('relative/local/path/to/jquery.js');
    var tt = this.evaluate(function () {
        // ...
    });
});

或者普通的CasperJS方法,它将脚本注入到您访问的每个页面上:

代码语言:javascript
复制
var casper = require("casper").create({
    clientScripts: ["relative/local/path/to/jquery.js"]
});

代码语言:javascript
复制
casper.options.clientScripts.push("relative/local/path/to/jquery.js");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31566465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档