如何使用CasperJS读取文件中的实时更改
How to read the real time changes in a file with CasperJS
我正在尝试让我的CasperJS脚本读取外部txt文件(abc.txt),并且需要在CasperJS过程中创建abc.txt。
(并且 abc.txt 必须使用"curl"为某些第三方 API 创建,所以我调用了一个子进程来更新旧的 abc.txt)。
但是,abc.txt里面的信息似乎被锁定在乞讨处,无论是更改信息还是删除整个文件都无关紧要。
有谁知道CasperJS是否可以更具交互性?或者如果我需要更改整个脚本,有什么建议吗?
(我正在尝试从网站A获取问题,然后转到网站B找到答案,然后在网站A中提交答案)
var casper = require('casper').create();
var fs = require('fs');
var data = fs.read('abc.txt');
casper.start();
casper.wait(5000, function () {
console.log('wait 5000 for editing the file');
});
casper.then(function (){
console.log(data);
});
casper.run();
如果数据内容.txt更改,则在脚本执行期间,这对保存该文件内容副本的变量没有任何影响。字符串值和文件内容之间永远不会有直接连接。
如果要刷新字符串内容,则需要再次读取该文件:
data = fs.read('abc.txt');
如果您需要等待文件的更改,则可以定期读取文件内容以查看它们是否同时更改。这可以通过以下方式完成casper.waitFor()
:
var casper = require('casper').create();
var fs = require('fs');
var data = fs.read('abc.txt');
var newData;
casper.start();
casper.waitFor(function _check(){
newData = fs.read('abc.txt');
return data !== newData;
});
casper.wait(1000); // additional wait to make sure that the file writing has finished
casper.then(function (){
console.log(newData);
});
casper.run();
相关文章:
- 文件上传后实时重新加载
- jquery我应该如何在多个html文件中实时搜索结果
- 使用 Node.js 实时读取文件
- 如何让 docpad 咕噜的骨架最小供应商 js 文件与实时重新加载
- 如何使用CasperJS读取文件中的实时更改
- AJAX:如何实时读取更改(cronjob-)文件
- 在开发时加载本地CSS和JavaScript文件,在推送到服务器时实时加载
- 如何防止在更新多个文件时多次实时重新加载 grunt
- 使用javascript从我的服务器上的文件进行实时更新
- 实时文件上传
- 使用Ajax(jquery版本)获取图像文件标记值,并将结果显示为实时预览器
- 搜索大型Json.csv文件,并使用实时搜索风格输出结果
- 使用实时数据对GeoJSON文件中的许多标记进行样式化
- 有没有一种方法可以使用Javascript实时获取传输到页面的文件的总大小
- 在与注册表单相同的页面上实时预览配置文件
- 当一个实时网站在文件系统中工作时,是什么导致它无法工作
- 在SAPUI5中生成具有响应表的实时数据的PDF文件
- Web Audio API和播放音频文件时的实时当前时间
- Google Drive API;谷歌实时API -我可以把一个实时文件在应用程序文件夹
- 如何确定用户是否选择了文件进行实时文件上传