gpt4 book ai didi

javascript - 在 Nightmare 中获取加载的SCRIPT变量

转载 作者:行者123 更新时间:2023-12-03 13:23:59 26 4
gpt4 key购买 nike

我想在 Nightmare 中使用script.js时从加载的.evaluate()中获取值。因此,假设某些网站上有此基本html ...

<!doctype html>
<head>
<title> far-away-website.com</title>
<script src="script.js"></script>
<script src="script-two.js"></script>
</head>

<body>
<div> DOM stuff</div>
</body>
</html>

而且 script.js拥有这个...
​func.prototype.hasData = function() {
return this.data
}

如何在Nightmarejs中从 this.data中获取 .evaluate()的值?...
var Nightmare = require('nightmare');
var nightmare = Nightmare({
// waitTimeout: 60000, // in ms
openDevTools: {
//mode: 'detach'
},
show: true
})
nightmare.goto('https://www.far-away-website.com')

.evaluate(() => {
return this.data // needed from script.js
})

.then((data) => {
console.log(data)
})

P.S. chromet工具中的 this.data可以显示 watch的值。

最佳答案

以下代码仅显示this仅引用该对象。如果该对象在全局窗口中,则可以通过创建对象并使用.hasData()函数属性来访问它。

否则,您将无法访问this.data,因为它处于不同的功能范围内。您可以阅读一些 Material ,以了解更多有关如何利用它的信息。

另外,您没有共享一个真正有效的网站/代码,没有它就无法提供太多帮助。

进一步了解herehere
阅读更多关于范围here的信息。

关于javascript - 在 Nightmare 中获取加载的SCRIPT变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47139385/

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