Open rfalcon-cnmc opened 5 months ago
Thank you for your first issue to whatsapp-osint! I really appreciate your interest and hope you enjoy the repository.
Hey @rfalcon-cnmc , could you show me what happens in the graphical interface when you launch the program? Or is it stuck permanently on Loading....?
A visual GUI interface should appear for you and whatsapp-osint should be redirecting you to scan the QR code automatically
what-osin.webm I leave you a complete recording of the execution
Hey @rfalcon-cnmc , so I have modified the code to add some debug logging when there is the permanently stuck loading error (now you will get a more detailed exception).
I think that the issue is that it's not detecting the following XPATH element in the web app: //div[@data-testid="wa-web-loading-screen"] which is the loading screen for whatsapp. For some reason it's loading extremely fast for you and you don't get a loading screen as usual.
Can you try again with the new version, and print this error here?
If we can't fix it like this, I will add the possibility to skip the loading step by pressing a key like F1.
@jasperan It is throwing me this error:
Loading...: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@data-testid="wa-web-loading-screen"]"}
(Session info: chrome=123.0.6312.86); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x60df8ff5c8a3 <unknown>
#1 0x60df8fc528c6 <unknown>
#2 0x60df8fc9d618 <unknown>
#3 0x60df8fc9d6d1 <unknown>
#4 0x60df8fce0744 <unknown>
#5 0x60df8fcbf5cd <unknown>
#6 0x60df8fcddc19 <unknown>
#7 0x60df8fcbf343 <unknown>
#8 0x60df8fc90593 <unknown>
#9 0x60df8fc90f5e <unknown>
#10 0x60df8ff2088b <unknown>
#11 0x60df8ff247e5 <unknown>
#12 0x60df8ff0e5b1 <unknown>
#13 0x60df8ff25372 <unknown>
#14 0x60df8fef38bf <unknown>
#15 0x60df8ff4b768 <unknown>
#16 0x60df8ff4b93b <unknown>
#17 0x60df8ff5b9f4 <unknown>
#18 0x78072a694ac3 <unknown>
Loading...: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@data-testid="wa-web-loading-screen"]"}
Hey can you try with the new code? You should skip the loading screen by pressing F1
First I added "keyboard" requirements.txt
rfalconadm@CNMC2294U ~/whatsapp-osint (master)$ python3 whatsappbeacon.py --username "Yooooo" --language "es"
In order to make this program to work, you will need to log-in once in WhatsApp. After that, your session will be saved until you revoke it.
Loading. Press F1 if stuck in this step...: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@data-testid="wa-web-loading-screen"]"}
(Session info: chrome=123.0.6312.105); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x5ed3752518a3 <unknown>
#1 0x5ed374f478c6 <unknown>
#2 0x5ed374f92618 <unknown>
#3 0x5ed374f926d1 <unknown>
#4 0x5ed374fd5744 <unknown>
#5 0x5ed374fb45cd <unknown>
#6 0x5ed374fd2c19 <unknown>
#7 0x5ed374fb4343 <unknown>
#8 0x5ed374f85593 <unknown>
#9 0x5ed374f85f5e <unknown>
#10 0x5ed37521588b <unknown>
#11 0x5ed3752197e5 <unknown>
#12 0x5ed3752035b1 <unknown>
#13 0x5ed37521a372 <unknown>
#14 0x5ed3751e88bf <unknown>
#15 0x5ed375240768 <unknown>
#16 0x5ed37524093b <unknown>
#17 0x5ed3752509f4 <unknown>
#18 0x74a34ac94ac3 <unknown>
Traceback (most recent call last):
File "/home/rfalconadm/whatsapp-osint/whatsappbeacon.py", line 169, in whatsapp_load
loading = driver.find_element(by=By.XPATH, value='//div[@data-testid="wa-web-loading-screen"]')
File "/home/rfalconadm/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 741, in find_element
return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
File "/home/rfalconadm/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 347, in execute
self.error_handler.check_response(response)
File "/home/rfalconadm/.local/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@data-testid="wa-web-loading-screen"]"}
(Session info: chrome=123.0.6312.105); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x5ed3752518a3 <unknown>
#1 0x5ed374f478c6 <unknown>
#2 0x5ed374f92618 <unknown>
#3 0x5ed374f926d1 <unknown>
#4 0x5ed374fd5744 <unknown>
#5 0x5ed374fb45cd <unknown>
#6 0x5ed374fd2c19 <unknown>
#7 0x5ed374fb4343 <unknown>
#8 0x5ed374f85593 <unknown>
#9 0x5ed374f85f5e <unknown>
#10 0x5ed37521588b <unknown>
#11 0x5ed3752197e5 <unknown>
#12 0x5ed3752035b1 <unknown>
#13 0x5ed37521a372 <unknown>
#14 0x5ed3751e88bf <unknown>
#15 0x5ed375240768 <unknown>
#16 0x5ed37524093b <unknown>
#17 0x5ed3752509f4 <unknown>
#18 0x74a34ac94ac3 <unknown>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/rfalconadm/whatsapp-osint/whatsappbeacon.py", line 250, in <module>
main()
File "/home/rfalconadm/whatsapp-osint/whatsappbeacon.py", line 243, in main
driver = whatsapp_login()
File "/home/rfalconadm/whatsapp-osint/whatsappbeacon.py", line 205, in whatsapp_login
whatsapp_load(driver=driver)
File "/home/rfalconadm/whatsapp-osint/whatsappbeacon.py", line 175, in whatsapp_load
if keyboard.is_pressed('F1'):
File "/home/rfalconadm/.local/lib/python3.10/site-packages/keyboard/__init__.py", line 410, in is_pressed
_listener.start_if_necessary()
File "/home/rfalconadm/.local/lib/python3.10/site-packages/keyboard/_generic.py", line 35, in start_if_necessary
self.init()
File "/home/rfalconadm/.local/lib/python3.10/site-packages/keyboard/__init__.py", line 196, in init
_os_keyboard.init()
File "/home/rfalconadm/.local/lib/python3.10/site-packages/keyboard/_nixkeyboard.py", line 113, in init
build_device()
File "/home/rfalconadm/.local/lib/python3.10/site-packages/keyboard/_nixkeyboard.py", line 109, in build_device
ensure_root()
File "/home/rfalconadm/.local/lib/python3.10/site-packages/keyboard/_nixcommon.py", line 174, in ensure_root
raise ImportError('You must be root to use this library on linux.')
ImportError: You must be root to use this library on linux.
The keyboard library requires root permissions on the user you're trying to execute, the script is not failing now but getting stuck on the new skip line feature with F1.
Can you try to run the program with administrative privileges?
First of all, thank you for your work. I'm very interested in this tool. Unfortunately, I'm having trouble using it. I've added the ‘keyboard’ library, which isn't in the requirements.txt. Then I ran the script command with and without privileges.
Here are the results:
Without privileges :
python3 whatsappbeacon.py --username "XXX" --language "fr"
In order to make this program to work, you will need to log-in once in WhatsApp. After that, your session will be saved until you revoke it.
Loading. Press F1 if stuck in this step...: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@data-testid="wa-web-loading-screen"]"}
(Session info: chrome=126.0.6478.182); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x65202bb60c7a <unknown>
#1 0x65202b843e2c <unknown>
#2 0x65202b890661 <unknown>
#3 0x65202b890751 <unknown>
#4 0x65202b8d4f64 <unknown>
#5 0x65202b8b35ed <unknown>
#6 0x65202b8d2303 <unknown>
#7 0x65202b8b3363 <unknown>
#8 0x65202b883247 <unknown>
#9 0x65202b883b9e <unknown>
#10 0x65202bb2724b <unknown>
#11 0x65202bb2b2f1 <unknown>
#12 0x65202bb12afe <unknown>
#13 0x65202bb2be52 <unknown>
#14 0x65202baf779f <unknown>
#15 0x65202bb50638 <unknown>
#16 0x65202bb50810 <unknown>
#17 0x65202bb5fdac <unknown>
#18 0x7c98c70fdded <unknown>
#19 0x7c98c71810dc <unknown>
Traceback (most recent call last):
File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 169, in whatsapp_load
loading = driver.find_element(by=By.XPATH, value='//div[@data-testid="wa-web-loading-screen"]')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 748, in find_element
return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
self.error_handler.check_response(response)
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@data-testid="wa-web-loading-screen"]"}
(Session info: chrome=126.0.6478.182); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x65202bb60c7a <unknown>
#1 0x65202b843e2c <unknown>
#2 0x65202b890661 <unknown>
#3 0x65202b890751 <unknown>
#4 0x65202b8d4f64 <unknown>
#5 0x65202b8b35ed <unknown>
#6 0x65202b8d2303 <unknown>
#7 0x65202b8b3363 <unknown>
#8 0x65202b883247 <unknown>
#9 0x65202b883b9e <unknown>
#10 0x65202bb2724b <unknown>
#11 0x65202bb2b2f1 <unknown>
#12 0x65202bb12afe <unknown>
#13 0x65202bb2be52 <unknown>
#14 0x65202baf779f <unknown>
#15 0x65202bb50638 <unknown>
#16 0x65202bb50810 <unknown>
#17 0x65202bb5fdac <unknown>
#18 0x7c98c70fdded <unknown>
#19 0x7c98c71810dc <unknown>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 250, in <module>
main()
File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 243, in main
driver = whatsapp_login()
^^^^^^^^^^^^^^^^
File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 205, in whatsapp_login
whatsapp_load(driver=driver)
File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 175, in whatsapp_load
if keyboard.is_pressed('F1'):
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/__init__.py", line 410, in is_pressed
_listener.start_if_necessary()
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/_generic.py", line 35, in start_if_necessary
self.init()
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/__init__.py", line 196, in init
_os_keyboard.init()
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/_nixkeyboard.py", line 113, in init
build_device()
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/_nixkeyboard.py", line 109, in build_device
ensure_root()
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/_nixcommon.py", line 174, in ensure_root
raise ImportError('You must be root to use this library on linux.')
ImportError: You must be root to use this library on linux.
With privileges :
sudo python3 whatsappbeacon.py --username "XXX" --language "fr"
In order to make this program to work, you will need to log-in once in WhatsApp. After that, your session will be saved until you revoke it.
Traceback (most recent call last):
File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 250, in <module>
main()
File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 243, in main
driver = whatsapp_login()
^^^^^^^^^^^^^^^^
File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 200, in whatsapp_login
driver = webdriver.Chrome(options=options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
super().__init__(
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/chromium/webdriver.py", line 66, in __init__
super().__init__(command_executor=executor, options=options)
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 212, in __init__
self.start_session(capabilities)
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 299, in start_session
response = self.execute(Command.NEW_SESSION, caps)["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
self.error_handler.check_response(response)
File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome failed to start: exited normally.
(session not created: DevToolsActivePort file doesn't exist)
(The process started from chrome location /root/.cache/selenium/chrome/linux64/126.0.6478.182/chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x6402da3e6c7a <unknown>
#1 0x6402da0c9e2c <unknown>
#2 0x6402da0fed6a <unknown>
#3 0x6402da0fb17b <unknown>
#4 0x6402da145c49 <unknown>
#5 0x6402da139363 <unknown>
#6 0x6402da109247 <unknown>
#7 0x6402da109b9e <unknown>
#8 0x6402da3ad24b <unknown>
#9 0x6402da3b12f1 <unknown>
#10 0x6402da398afe <unknown>
#11 0x6402da3b1e52 <unknown>
#12 0x6402da37d79f <unknown>
#13 0x6402da3d6638 <unknown>
#14 0x6402da3d6810 <unknown>
#15 0x6402da3e5dac <unknown>
#16 0x74f40a011ded <unknown>
#17 0x74f40a0950dc <unknown>
I ran this program on a virtual machine (Archlinux) on Virtualbox. Here are the versions of the programs requested:
Google Chrome 126.0.6478.126
ChromeDriver 126.0.6478.126 (d36ace6122e0a59570e258d82441395206d60e1c-refs/branch-heads/6478@{#1591})
Python 3.12.4
Hey @zubi33 , this is a known issue (the second one) which happens when you run chromedriver as root. The intended use is for you to run without privileges, and trying to fix the first issue.
On line 175, in whatsappbeacon.py, there is a if statement. You can try to delete that statement and the command inside it:
if keyboard.is_pressed('F1'): .......
Delete these lines, and remove the keyboard import, I think it's the only time it's being used.
On Windows, it would work for you, but Linux and the keyboard module aren't good friends. :)
@jasperan
On Linux, after removing the block from the if statement and removing keyboard from the import, it seems to run in an infinite loop :
Loading. Press F1 if stuck in this step...: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@data-testid="wa-web-loading-screen"]"}
(Session info: chrome=126.0.6478.182); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x6418fc582c7a <unknown>
#1 0x6418fc265e2c <unknown>
#2 0x6418fc2b2661 <unknown>
#3 0x6418fc2b2751 <unknown>
#4 0x6418fc2f6f64 <unknown>
#5 0x6418fc2d55ed <unknown>
#6 0x6418fc2f4303 <unknown>
#7 0x6418fc2d5363 <unknown>
#8 0x6418fc2a5247 <unknown>
#9 0x6418fc2a5b9e <unknown>
#10 0x6418fc54924b <unknown>
#11 0x6418fc54d2f1 <unknown>
#12 0x6418fc534afe <unknown>
#13 0x6418fc54de52 <unknown>
#14 0x6418fc51979f <unknown>
#15 0x6418fc572638 <unknown>
#16 0x6418fc572810 <unknown>
#17 0x6418fc581dac <unknown>
#18 0x7c62e27bbded <unknown>
#19 0x7c62e283f0dc <unknown>
Under Windows, this also seems to be a loop:
Loading. Press F1 if stuck in this step...: Message: no such window: target window already closed
from unknown error: web view not found
(Session info: chrome=126.0.6478.182)
Stacktrace:
GetHandleVerifier [0x00007FF6C35DEEB2+31554]
(No symbol) [0x00007FF6C3557EE9]
(No symbol) [0x00007FF6C341872A]
(No symbol) [0x00007FF6C33ED995]
(No symbol) [0x00007FF6C34944D7]
(No symbol) [0x00007FF6C34AC051]
(No symbol) [0x00007FF6C348CDD3]
(No symbol) [0x00007FF6C345A33B]
(No symbol) [0x00007FF6C345AED1]
GetHandleVerifier [0x00007FF6C38E8B2D+3217341]
GetHandleVerifier [0x00007FF6C3935AF3+3532675]
GetHandleVerifier [0x00007FF6C392B0F0+3489152]
GetHandleVerifier [0x00007FF6C368E786+750614]
(No symbol) [0x00007FF6C356376F]
(No symbol) [0x00007FF6C355EB24]
(No symbol) [0x00007FF6C355ECB2]
(No symbol) [0x00007FF6C354E17F]
BaseThreadInitThunk [0x00007FF9B8DB257D+29]
RtlUserThreadStart [0x00007FF9B980AF28+40]
Did WhatsApp change some of the headings in the code so that the software could no longer find them?
@zubi33 , keep the "break" statement but remove the if. It should look like:
except Exception as e:
print("Loading. Press F1 if stuck in this step...: {}".format(e), end=f"\r")
break
@jasperan, it would appear that even with the addition of break, the programme will not work. It cannot find the selected contact. Perhaps it's a language problem because i use french ?
XXX is not found. Returning...(Maybe your contact is in the archive. Check it)
Hmmm @zubi33 , French language should be supported. Have you put the name exactly as it is found (byte by byte) as the target? If you think it's a language issue you can also try with English by changing the language of your WhatsApp
@jasperan Unfortunately, I couldn't get the script to work. I tried with a simple name ‘Florine’. I also tried changing the language to English, but I got the following result:
Florine is not found. Returning...(Maybe your contact is in the archive. Check it)
This is a weird issue, I am quite busy right now with work but I have put this in my watchlist to debug what's happening - I have tested myself and for me it's working - I'll be able to have a look in a couple of weeks
I have the same error, it says it can't find the contact
Hi,
My chrome![image](https://github.com/jasperan/whatsapp-osint/assets/39058500/d8c3b586-13f3-4fa9-93d4-67e3ac55f6c2)
My Chromedriver![image](https://github.com/jasperan/whatsapp-osint/assets/39058500/6a857c0d-93c4-4666-a5f1-f7fd14616c82)
What could be a problem?