У меня есть повторяющаяся функция, которую я хотел бы автоматизировать с помощью NightmareJs.Задача, в данном случае, состоит в том, чтобы открыть google.com и ввести текст для поиска в строке поиска.Адрес сайта и текст для поиска предоставлены из файла JSON, который мне понадобился в глобальной области видимости.Но как только я запускаю экземпляр .then (), я не могу получить доступ к данным из глобальной области.Как получить доступ к данным из глобальной области видимости в экземпляре .then ()?
До сих пор я создал экземпляр Nightmare, который выглядит следующим образом:
Код NightmareJs:
var Nightmare = require('nightmare');
var nightmare = Nightmare({
show:true
});
var dummy = require('./dummy.json')
nightmare
.goto(dummy[0].searchOn)
.evaluate(()=>{
return document.querySelector('html').innerHTML
})
.then(()=>{
return nightmare
.insert('.gLFyf',dummy[0].searchText)
})
JSON-код:
[
{
"searchOn": "https://www.google.com",
"searchText": "I love google"
}
]
Я ожидал, что смогу вставить текст для поиска (под searchText) из файла JSON в строку поиска в Google.Пожалуйста, порекомендуйте.Спасибо
PS: Да, я понимаю, что есть более простой способ сделать это, изменив место размещения .insert () следующим образом:
nightmare
.goto(dummy[0].searchOn)
.insert('.gLFyf', dummy[0].searchText)
.then()
НоЯ хотел бы знать, как это сделать для дальнейшего использования, поскольку я сталкивался с этой проблемой несколько раз раньше.