Sul*_*lli 6 javascript automation callback 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()
}
Run Code Online (Sandbox Code Playgroud)
但是当我启动脚本时,文件读取指令会立即执行,而不是等待Web爬行完成.
在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()
}
Run Code Online (Sandbox Code Playgroud)