gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 05:38:51 25 4
gpt4 key购买 nike

该网站在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com