Я использую Chromeless для получения части информации на веб-сайте и загрузки соответствующего файла:
async function run() {
const chromeless = new Chromeless()
const screenshot = await chromeless
.goto('http://www.website.com')
title = await chromeless.inputValue('input[name="title"]')
var fs = require('fs');
var data = fs.readFileSync(title,"utf8");
...
await chromeless.end()
}
но инструкции по чтению файла выполняются сразу же, когда я запускаю скрипт, и не дожидаюсь завершения веб-сканирования.
В javascript, я думаю, мне нужно будет использовать функции обратного вызова, чтобы предотвратить это, но есть ли лучший способ сделать это с Chromeless?
.screenshot()
, который необходимо связать с действием.goto()
, чтобы сохранить снимок экрана. Кажется, что в целом Chromeless не ждет (ключевое словоawait
не дает ожидаемого эффекта), если только последний метод в цепочке не возвращает полезное значение, например путь к снимку экрана. (Кроме того, в каждой цепочке может быть только одна такая команда.) Следовательно, операторawait chromeless.inputValue('input[name="title"]')
будет выполняться до того, как будет выполнена навигация на веб-сайт. - person Otto G   schedule 19.04.2018