gpt4 book ai didi

node.js - Nightmare/Electron ,如何根据元素是否存在进行不同的操作?

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:04 24 4
gpt4 key购买 nike

我想使用Nightmare根据指定元素是否存在来访问页面并执行不同的操作。我知道有一个 exists 函数可以测试页面上是否存在某个元素,但我不知道如何使用它或是否可以在此处使用。有人可以给我一个如何完成这项任务的例子吗?谢谢!

最佳答案

Nightmare 是 thenable 的,因此如果您想使用 exists() 函数的返回值作为逻辑,可以使用 .then() 进行方法链接。这也适用于 visible()evaluate() 或任何返回值的函数。

如果搜索框选择器存在,我提供的示例将搜索 Stackoverflow,然后转到 Google、返回标题,然后有条件地记录结果。您可以根据需要继续链接逻辑。

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

nightmare
.goto("http://stackoverflow.com")
.exists("#search input[type=text]")
.then(function (result) {
if (result) {
return nightmare.type("#search input[type=text]", "javascript\u000d")
} else {
console.log("Could not find selector")
}
})
.then(function() {
return nightmare
.goto("http://www.google.com")
.wait(1000)
.title()
})
.then(function (title) {
if (title == "Google") {
console.log("title is Google")
} else {
console.log("title is not Google")
}

return nightmare.end()
})
.catch(function (error) {
console.log(error)
})

关于node.js - Nightmare/Electron ,如何根据元素是否存在进行不同的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41811008/

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