Javascript 等待重定向后再执行操作-puppeter Node.js
我正在尝试用Puppeter和Node js制作一个脚本,它可以从我电脑上的文本文件和图像在网站(如ebay或gumtree)上发布广告 我已经完成了登录、填写表单和上传图像的所有工作,但在提交表单后我无法完成任何工作(我必须选中一个框并单击“验证”) 错误日志显示未找到选择器newadSubmit、accept_rule和lbc_submit的节点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
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