mukulhase / WebWhatsapp-Wrapper

An API for sending and receiving messages over web.whatsapp [Working as of 18th May 2018]
https://webwhatsapi.readthedocs.io/en/latest/
MIT License
2.03k stars 797 forks source link

document.querySelector(...)._reactRootContainer.current is undefined #915

Open Fade97 opened 4 years ago

Fade97 commented 4 years ago

When trying to receive any data after login I get the following error:

Exception has occurred: JavascriptException
Message: TypeError: document.querySelector(...)._reactRootContainer.current is undefined
  File "C:\Users\...\whatsapp.py", line 63, in getMessages
    for contact in self.driver.get_unread():
  File "C:\Users\...\whatsapp.py", line 71, in <module>
    wa.getMessages()

The code I am trying:

from webwhatsapi import WhatsAPIDriver
class whatsapp:
    def __init__(self):
        self.driver = WhatsAPIDriver(username='Fade')
        WhatsAPIDriver._SELECTORS = {
            'firstrun': "#wrapper",
            'qrCode': "canvas[aria-label='Scan me!']",
            'qrCodePlain': "div[data-ref]",
            'mainPage': ".two",
            'chatList': ".infinite-list-viewport",
            'messageList': "#main > div > div:nth-child(1) > div > div.message-list",
            'unreadMessageBar': "#main > div > div:nth-child(1) > div > div.message-list > div.msg-unread",
            'searchBar': ".input",
            'searchCancel': ".icon-search-morph",
            'chats': ".infinite-list-item",
            'chatBar': 'div.input',
            'sendButton': 'button.icon:nth-child(3)',
            'LoadHistory': '.btn-more',
            'UnreadBadge': '.icon-meta',
            'UnreadChatBanner': '.message-list',
            'ReconnectLink': '.action',
            'WhatsappQrIcon': 'span.icon:nth-child(2)',
            'QRReloader': 'div[data-ref] > span > div'
        }

        print("Waiting for QR")
        self.driver.wait_for_login()
        print("Bot started")

    def getMessages(self):
        self.driver.get_all_chats()

wa = whatsapp()
wa.getMessages()

Using the pip version