javascript - Chromeless - 在执行指令之前等待

标签 javascript callback automation chromeless

我正在使用 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 来做到这一点?

最佳答案

您可以尝试将 implicitWait: true 传递给 Chromeless 构造函数。此值默认为 false。将此设置为 true 将使 Chromeless 在执行命令之前等待元素存在。

换句话说,var fs = require('fs');const title 被赋值之前不应该被执行。

async function run() {
  const chromeless = new Chromeless({implicitWait: true})
  const screenshot = await chromeless.goto('http://www.website.com')
  const title = await chromeless.inputValue('input[name="title"]')

  var fs = require('fs');
  var data = fs.readFileSync(title,"utf8");
  ...
  await chromeless.end()
}

关于javascript - Chromeless - 在执行指令之前等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48219238/

相关文章:

javascript - 如何在 Node.js 中打开 Windows-1255 编码文件?

javascript - 关于 mongoose 方法的回调函数中的错误的文档

java - Dwr回调 "data"对象长度

visual-studio - 如何在 Visual Studio TFS 中自动化构建和部署?

node.js - 是否可以在多个项目上部署一个谷歌云功能?

automation - BigQuery - 从 Google Cloud Storage 传输自动化 - 覆盖表

javascript - Bootstrap 多选 - 当取消选择/取消选中所有选项时无法启用选择

javascript - Liferay javascript IE8

javascript - 如何从异步调用返回响应?

windows - MidiInProc 回调在什么上下文中执行?