Open BirendraSahu opened 5 years ago
I think your selenium is crashing in some point. As you are checking periodically the unread messages, try tu use the observable implementation.
I guess it's something on your environment or too many requests, you should wrap it inside a try, like this:
...
while True:
time.sleep(5)
print('Checking for more messages')
try:
for contact in driver.get_unread():
for message in contact.messages:
if isinstance(message, Message): # Currently works for text messages only.
print("New message '{}' received from number {}".format(message.content, message.sender.id))
except:
print("Something wrong happened, let's try again")
Doing this won't make you lose any messages, if an error happens it will just loop again and this time it'll probably work
Hi, After Wapi.js changes for last issue. I am getting exception in get_unread() but not always.
Waiting for QR Bot started Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Checking for more messages Traceback (most recent call last): File "D:\FirstHive-Docs\GulfWhatApps.py", line 14, in
for contact in driver.get_unread():
File "C:\Program Files (x86)\Python36-32\lib\site-packages\webwhatsapi__init.py", line 338, in get_unread
raw_message_groups = self.wapi_functions.getUnreadMessages(include_me, include_notifications, use_unread_count)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\webwhatsapi\wapi_js_wrapper.py", line 126, in call__
return self.driver.execute_async_script(command)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 652, in execute_async_script
'args': converted_args})['value']
File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
response = self.command_executor.execute(driver_command, params)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 472, in execute
return self._request(command_info[0], url, body=data)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 495, in _request
self._conn.request(method, parsed_url.path, body, headers)
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 1250, in _send_request
self.putrequest(method, url, **skips)
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 1108, in putrequest
raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent