Javascript 异步函数中window.open()的多次迭代
所以,我正在开发一个简单的机器人,向几个Whatsapp联系人发送消息。我在Whatsapp网页中插入了下面的代码,它可以完美地处理一条消息。然后,当我使用sendMessageToPhoneList将其发送到电话号码数组时,它在第一条消息/迭代中工作正常,但下一条消息/迭代给我以下错误:Uncaught(in promise)TypeError:无法读取null的属性“document”Javascript 异步函数中window.open()的多次迭代,javascript,Javascript,所以,我正在开发一个简单的机器人,向几个Whatsapp联系人发送消息。我在Whatsapp网页中插入了下面的代码,它可以完美地处理一条消息。然后,当我使用sendMessageToPhoneList将其发送到电话号码数组时,它在第一条消息/迭代中工作正常,但下一条消息/迭代给我以下错误:Uncaught(in promise)TypeError:无法读取null的属性“document” function sendMessage(phone, encodedMessage) { re
function sendMessage(phone, encodedMessage) {
return new Promise(resolve => {
var wppURL, wppPage;
wppURL = "https://web.whatsapp.com/send?phone="+phone+"&text="+encodedMessage;
wppPage = window.open(wppURL);
var send = function() {
var sendButton = wppPage.document.getElementsByClassName("_3M-N-")[0];
if (sendButton) {
sendButton.click();
setTimeout(function() {
wppPage.close();
resolve(true);
}, 10000);
} else {
setTimeout(send, 1000);
}
};
send();
});
}
async function sendMessageToPhoneList(phoneList, encodedMessage) {
for (i=0; i < phoneList.length; i++) {
await sendMessage(phoneList[i], encodedMessage);
}
}
功能发送信息(电话、编码信息){
返回新承诺(解决=>{
var wppur,wppage;
wppURL=”https://web.whatsapp.com/send?phone=“+phone+”&text=“+encodedMessage;
wppage=window.open(wppull);
var send=函数(){
var sendButton=wppage.document.getElementsByClassName(“_3M-N-”)[0];
如果(发送按钮){
sendButton.click();
setTimeout(函数(){
wppage.close();
决心(正确);
}, 10000);
}否则{
设置超时(发送,1000);
}
};
send();
});
}
异步函数sendMessageToPhoneList(电话列表、encodedMessage){
对于(i=0;i
代码有问题吗?有人能给我一些见解吗?谢谢 问题是chrome会再次打开同一个选项卡,所以即使您正在打开多个同名窗口,chome也不允许它更改您的代码,使您具有不同的窗口名,它应该会修复它 例如:
wppURL = "https://web.whatsapp.com/send?phone="+phone+"&text="+encodedMessage;
wppPage = window.open(wppURL, wppURL); // second parameter is for window name
问题是chrome会再次打开同一个选项卡,所以即使您打开多个同名窗口,chome也不允许它更改您的代码,使您具有不同的窗口名,并且应该修复它 例如:
wppURL = "https://web.whatsapp.com/send?phone="+phone+"&text="+encodedMessage;
wppPage = window.open(wppURL, wppURL); // second parameter is for window name
尝试使用
let wppur,wppage代码>而不是var wppur,wppage代码>尝试使用让wppur,wppage代码>而不是var wppur,wppage代码>