gpt4 book ai didi

javascript - thenEvaluate()的返回方式与evaluate()相同吗?

转载 作者:行者123 更新时间:2023-12-03 11:29:48 25 4
gpt4 key购买 nike

所以我知道我可以使用 return... 将数据从 window 返回到 casper

casper.evaluate(function() {
return 'foobar';
}, {});

如何使用 thenEvaluate() 实现同样的效果?

最佳答案

您无法从 casper.thenEvaluate 返回任何内容。它将被忽视。您需要将其拆分为 casper.thencasper.evaluate。请参阅this question对于类似的东西。

casper.thenEvaluate 是一个异步步骤函数,就像所有其他 then*wait* 函数一样。从异步函数返回有用的东西是不可能的。您最可能想要的是:

var something;
casper.start(url).then(function(){
something = this.evaluate(function(){
return 'foobar';
});
this.click("someSelector");
}).then(function(){
// do something with "something" on the new page
});

我怀疑如果您以后不想使用某些东西,您就不会问。所有步骤函数都会返回初始的 casper 对象,以便可以像上面的示例一样使用 Promise 语法编写脚本。

关于javascript - thenEvaluate()的返回方式与evaluate()相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26782888/

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