gpt4 book ai didi

javascript - Nightmare - 文件来自哪里?

转载 作者:行者123 更新时间:2023-11-30 11:04:22 28 4
gpt4 key购买 nike

下面的代码片段是来自 https://github.com/segmentio/nightmare 的示例

const Nightmare = require('nightmare')
const nightmare = Nightmare({ show: true })

nightmare
.goto('https://duckduckgo.com')
.type('#search_form_input_homepage', 'github nightmare')
.click('#search_button_homepage')
.wait('#r1-0 a.result__a')
.evaluate(() => document.querySelector('#r1-0 a.result__a').href)
.end()
.then(console.log)
.catch(error => {
console.error('Search failed:', error)
})

我无法理解这一行:

.evaluate(() => document.querySelector('#r1-0 a.result__a').href)

文档来自哪里?代码在 Node.js 上运行,因此没有浏览器上下文。我已经检查过 document 不是全局变量。显然也不是参数。我还验证了示例代码是否有效。怎么可能?

最佳答案

该箭头函数作为参数传递,以在定义了 document 的 Nightmare headless 浏览器中运行。

.evaluate(() => document.querySelector('#r1-0 a.result__a').href)

您还可以像这样向该函数传递额外的参数:

.evaluate((arg) => {
document.querySelector('#r1-0 a.result__a').href);
}, 'test');

关于javascript - Nightmare - 文件来自哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56282756/

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