Javascript 等待重定向后再执行操作-puppeter Node.js

Javascript 等待重定向后再执行操作-puppeter Node.js,javascript,node.js,web-scraping,puppeteer,ads,Javascript,Node.js,Web Scraping,Puppeteer,Ads,我正在尝试用Puppeter和Node js制作一个脚本,它可以从我电脑上的文本文件和图像在网站(如ebay或gumtree)上发布广告 我已经完成了登录、填写表单和上传图像的所有工作,但在提交表单后我无法完成任何工作(我必须选中一个框并单击“验证”) 错误日志显示未找到选择器newadSubmit、accept_rule和lbc_submit的节点 var promise1 = new Promise(function(resolve, reject) { setTimeout(fun

我正在尝试用Puppeter和Node js制作一个脚本,它可以从我电脑上的文本文件和图像在网站(如ebay或gumtree)上发布广告

我已经完成了登录、填写表单和上传图像的所有工作,但在提交表单后我无法完成任何工作(我必须选中一个框并单击“验证”)

错误日志显示未找到选择器newadSubmit、accept_rule和lbc_submit的节点

 var promise1 = new Promise(function(resolve, reject) {
   setTimeout(function() {

    upload(getInfo(absolutePath, "#titre"), workingPath + "1.jpg", 
    workingPath + "2.jpg", 
    workingPath + "3.jpg", 
    getInfo(absolutePath, "#prix"), 
    getInfo(absolutePath, "#desc"), 
    getInfo(absolutePath, "#cp"), 
    1, 
    getInfo(absolutePath, "#num"));
}, 300);});



promise1.then(function(value) {
  page.click('#newadSubmit');
  page.waitForSelector('#accept_rule');
  page.click('#accept_rule');
  page.click('#lbc_submit');});

此外,甚至在upload()函数finish之前也会出现错误。您应该在puppeter中使用wait关键字来执行异步任务,如下所示

await page.waitForSelector("#accpt_rule")
而且,我也没有看到任何代码是要求你的承诺的解决或拒绝

上传完成后,需要妥善解决或拒绝该承诺

wait
不允许用作顶级关键字,必须放在异步函数中
更改为async函数也会使它只处理一次,而异步函数调用了一次;其中,有一个例子如下:

异步函数foo(){ 等待page.SomePupperFunct(); } foo((x)=>{//此处用于存储异步函数的输出 x、 …处理预期输出//这可以是
});谢谢大家,所以我添加了wait-before-all操作并使函数异步,现在我只找到了一个未找到的节点(第一个),waitForSelector现在似乎在等待,但脚本在重定向后停止(可能是因为最后一个错误),我将尝试处理resolve和reject