Node.js 如何与剧作家一起下载?

Node.js 如何与剧作家一起下载?,node.js,playwright,Node.js,Playwright,我正在尝试使用从网站下载文件。触发下载的按钮执行一些js操作,然后开始下载 使用功能单击按钮。单击会触发下载,但会显示错误:失败-下载错误 我尝试过使用devtools协议,但这似乎没有任何作用 const剧作家=require(“剧作家”); const{/*chromium,*/devices}=require(“剧作家”); const iPhone=设备[“iPad(第7代)环境]; (异步()=>{ const my_chromium=剧作家[“chromium”]; const b

我正在尝试使用从网站下载文件。触发下载的按钮执行一些js操作,然后开始下载

使用
功能单击按钮。单击
会触发下载,但会显示错误:失败-下载错误

我尝试过使用devtools协议,但这似乎没有任何作用

const剧作家=require(“剧作家”);
const{/*chromium,*/devices}=require(“剧作家”);
const iPhone=设备[“iPad(第7代)环境];
(异步()=>{
const my_chromium=剧作家[“chromium”];
const browser=等待我的启动({headless:false});
const context=await browser.newContext({
viewport:iPhone.viewport,
userAgent:iPhone.userAgent
});
const page=wait context.newPage();
const client=wait browser.pageTarget(page.createCDPSession();
console.log(客户端);
等待client.send(“Page.setDownloadBehavior”{
行为:“允许”,
下载路径:“C:/in”
});
//……等等
等待页面。单击(“下载按钮”);
browser.close();
})();

中有一个api,但我找不到当前的api。 有一个建议会很有用,但我不知道如何从剧作家那里得到这个建议


我愿意接受应该使用Puppeter的建议,但我选择了剧作家,因为我也不知道如何使用Puppeter下载文件,而且。

令人尴尬的是,我在下载开始之前就关闭了浏览器

原来下载错误是由
客户端
部分引起的。但是,这意味着我无法控制文件的保存位置

下载在
headless:false
时有效,但在
headless:true
时无效


如果有人有更好的答案,那就太好了

您可以使用
waitForTimeout

我尝试了
{headless:true}
&
wait page.waitForTimeout(1000)


很好用。您可以检查相同的

关于
downloadWillBegin
事件,您可以使用该类扩展的节点的
EventEmitter
,例如,
page.on('downloadWillBegin',doSomething')