javascript - jQuery 不工作,但 document.querySelector 可以 (CasperJS)

标签 javascript jquery casperjs

该网站在 h1 标签中显示访问者的 IP 地址,其中 id = "ip"

当我使用 return document.querySelector('#ip').innerText; 时,它显示正确的 IP 地址并且一切正常。

但是,当我使用 return $('#ip').text(); 时,它显示 null

有什么想法吗?

var casper = require('casper').create();

casper.start("http://mikeyaworski.com/IP", function() {

    var ip = this.evaluate(function() {
        // return document.querySelector('#ip').innerText; // does work
        return $('#ip').text(); // doesn't work, but it should
    });

    this.echo("\nYour public IP address is: " + ip);
});

casper.run();

最佳答案

我最终从 here 下载了 jQuery到我电脑上的某个地方。

然后我关注了documentation关于这个话题,它似乎奏效了(奇怪的是,因为在过去,我不需要遵守这些“规则”)。

我的代码是这样结束的:

var casper = require('casper').create();

casper.start("http://mikeyaworski.com/IP", function() {

    // this is the changed part
    casper.page.injectJs('path/to/jquery-1.11.0.js');

    var ip = this.evaluate(function() {
        // return document.querySelector('#ip').innerText;
        return $('#ip').text();
    });

    this.echo("\nYour public IP address is: " + ip);
});

casper.run();

这也有效:

// this is the changed part
var casper = require('casper').create({
    clientScripts: ["path/to/jquery-1.11.0.js"]
});

casper.start("http://mikeyaworski.com/IP", function() {

    var ip = this.evaluate(function() {
        // return document.querySelector('#ip').innerText;
        return $('#ip').text();
    });

    this.echo("\nYour public IP address is: " + ip);
});

casper.run();

然而,我仍然觉得奇怪的是 this other script ,我很好地使用了 jQuery,没有将它注入(inject)任何地方,甚至没有将它下载到我的计算机上。我想了解更多相关信息。

关于javascript - jQuery 不工作,但 document.querySelector 可以 (CasperJS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21950730/

相关文章:

asp.net - 如何延迟 ASP.NET AutoPostBack 以便首先触发 JavaScript?

javascript - 添加 DIV 的内部模态对话框 HTML5

javascript - Casperjs 不允许使用外部模块?

javascript - jQuery 切换类需要在 Internet Explorer 中单击两次?

javascript - 如何在 CasperJS 中打开新标签页

javascript - Casper JS数据到CSV文件处理逗号

javascript - 如何在教育应用程序的 JavaScript 中安全地使用 eval()?

javascript - 以编程方式获取无线接入点列表

javascript - 替换类似 json 中的值

javascript - 转换后在 D3 中居中图像