Open felippeefreire opened 4 years ago
In addition to your change, after logging in with the "wait_for_login" function, change the 'mainPage' attribute
location file: webwhatsapi wapi_js_wrapper.py
'mainPage': ".app.two"
by
'mainPage': ".app.h70RQ.two"
These changes didn't work to me in version 2.2023.2 of whatsapp web. Store.Chat dont work.
working
if (!window.Store) { (function () { function getStore(modules) { let foundCount = 0; let neededObjects = [ { id: "Store", conditions: (module) => (module.Chat && module.Msg) ? module : null }, { id: "MediaCollection", conditions: (module) => (module.default && module.default.prototype && module.default.prototype.processAttachments) ? module.default : null }, { id: "MediaProcess", conditions: (module) => (module.BLOB) ? module : null }, { id: "Wap", conditions: (module) => (module.createGroup) ? module : null }, { id: "ServiceWorker", conditions: (module) => (module.default && module.default.killServiceWorker) ? module : null }, { id: 'Presence', conditions: (value) => (value.default && value.default.Presence) ? value.default : null }, { id: "State", conditions: (module) => (module.STATE && module.STREAM) ? module : null }, { id: "WapDelete", conditions: (module) => (module.sendConversationDelete && module.sendConversationDelete.length == 2) ? module : null }, { id: "Conn", conditions: (module) => (module.default && module.default.ref && module.default.refTTL) ? module.default : null }, { id: "WapQuery", conditions: (module) => (module.queryExist) ? module : ((module.default && module.default.queryExist) ? module.default : null) }, { id: "CryptoLib", conditions: (module) => (module.decryptE2EMedia) ? module : null }, { id: "OpenChat", conditions: (module) => (module.default && module.default.prototype && module.default.prototype.openChat) ? module.default : null }, { id: "UserConstructor", conditions: (module) => (module.default && module.default.prototype && module.default.prototype.isServer && module.default.prototype.isUser) ? module.default : null }, { id: "SendTextMsgToChat", conditions: (module) => (module.sendTextMsgToChat) ? module.sendTextMsgToChat : null }, { id: "SendSeen", conditions: (module) => (module.sendSeen) ? module.sendSeen : null }, { id: "sendDelete", conditions: (module) => (module.sendDelete) ? module.sendDelete : null } ]; for (let idx in modules) { if ((typeof modules[idx] === "object") && (modules[idx] !== null)) { let first = Object.values(modules[idx])[0]; if ((typeof first === "object") && (first.exports)) { for (let idx2 in modules[idx]) { let module = modules(idx2); if (!module) { continue; } neededObjects.forEach((needObj) => { if (!needObj.conditions || needObj.foundedModule) return; let neededModule = needObj.conditions(module); if (neededModule !== null) { foundCount++; needObj.foundedModule = neededModule; } }); if (foundCount == neededObjects.length) { break; } }
let neededStore = neededObjects.find((needObj) => needObj.id === "Store");
window.Store = neededStore.foundedModule ? neededStore.foundedModule : {};
neededObjects.splice(neededObjects.indexOf(neededStore), 1);
neededObjects.forEach((needObj) => {
if (needObj.foundedModule) {
window.Store[needObj.id] = needObj.foundedModule;
}
});
window.Store.sendMessage = function (e) {
return window.Store.SendTextMsgToChat(this, ...arguments);
};
if (window.Store.Presence) {
for (const prop in window.Store.Presence) {
if (prop === "Presence") {
continue;
}
console.log(prop);
window.Store[prop] = window.Store.Presence[prop] || window.Store[prop];
}
}
return window.Store;
}
}
}
}
if (typeof webpackJsonp === 'function') {
webpackJsonp([], {'parasite': (x, y, z) => getStore(z)}, ['parasite']);
} else {
webpackJsonp.push([
['parasite'],
{
parasite: function (o, e, t) {
getStore(t);
}
},
[['parasite']]
]);
}
})();
}
Tested solution and worked well on 2.2023.2!!
Thanks for @felippeefreire and @chirag90851 for solving this issue so fastly \o/\o/\o/
Hi Guys
I tried on Whatsapp Web version 2.2023.2 this:
https://raw.githubusercontent.com/mukulhase/WebWhatsapp-Wrapper/master/webwhatsapi/js/wapi.js
Showed up message below:
Uncaught TypeError: window.Store.Msg is undefined debugger eval code:1144
I did a test in old version works fine.
Hi @ijoaobatista Workfine now. Many thanks. Cheers...
.app its now just .two "mainPage": ".two",
A better solution:
@mhndm Thank you!!!
after changing it to .two got another issue: raise exception_class(message, screen, stacktrace) selenium.common.exceptions.JavascriptException: Message: TypeError: window.Store.Msg is undefined
which upon finding this issue we changed time.sleep(5) to time.sleep(60) but that too didn't help.
what do you think is the issue @mukulhase ?
These changes didn't work to me in version 2.2023.2 of whatsapp web. Store.Chat dont work.
And many other modules don't work too....
unfortunately WhatsApp has changed the way of encapsulating the modules. For this, I created this PR adapting for both versions.
https://github.com/mukulhase/WebWhatsapp-Wrapper/pull/888/files