nightmare 下载文件的代码
时间: 2023-12-13 19:04:30 浏览: 36
以下是使用 Nightmare 下载文件的示例代码:
```javascript
const Nightmare = require('nightmare');
const fs = require('fs');
// 设置下载文件保存的路径
const downloadPath = __dirname;
// 创建一个新的 Nightmare 实例
const nightmare = Nightmare({
show: true, // 是否显示浏览器窗口
downloadPath: downloadPath, // 下载文件保存的路径
webPreferences: {
partition: 'persist: my-partition' // 开启持久化会话
}
});
nightmare
.goto('https://example.com') // 打开网页
.click('a.download-link') // 点击下载链接
.waitDownloadsComplete() // 等待下载完成
.end() // 关闭浏览器
.then(() => {
// 获取下载文件的信息
const files = nightmare.getDownloadedFiles();
console.log('下载文件信息:', files);
// 重命名下载文件
fs.renameSync(files[0].filename, `new-${files[0].filename}`);
console.log('文件重命名成功!');
})
.catch(error => {
console.error('操作失败:', error);
});
```
上述代码中,我们使用 `Nightmare()` 创建一个新的实例,并设置一些选项,如是否显示浏览器窗口、下载文件保存的路径等。
然后,我们使用 `.goto()` 方法打开目标网页,并使用 `.click()` 方法点击下载链接。
接着,我们使用 `.waitDownloadsComplete()` 方法等待下载完成,这个方法是自定义的一个插件,需要先安装。
最后,我们使用 `.getDownloadedFiles()` 方法获取下载文件的信息,并使用 `fs.renameSync()` 方法重命名下载文件。
需要注意的是,Nightmare 只支持 Chrome 和 Electron 浏览器,如果你想要使用其他浏览器,可以使用类似 Puppeteer 的工具。