Node.js 如何与剧作家一起下载?
我正在尝试使用从网站下载文件。触发下载的按钮执行一些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
功能单击按钮。单击
会触发下载,但会显示错误:失败-下载错误
我尝试过使用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')代码>