'WhatsApp Bot in Python with WebDriver
from typing import Any
import requests
from selenium import webdriver
from time import sleep
# import logging
from pyfiglet import Figlet
from selenium.webdriver.common.by import By
def AnyWord(word):
f = Figlet(font='slant')
print(f.renderText(word))
def main():
print('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
AnyWord('Starting...')
print('Trying to connect to Whatsapp-Web via Chrome')
print('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
global driver
driver = webdriver.Chrome(PATH)
driver.implicitly_wait(15)
driver.get('https://web.whatsapp.com')
driver.implicitly_wait(10)
choose()
def choose():
insys = input('What do you want? \n 1 = Spam Someone \n 2 = auto answer \n Enter = Quit')
if insys == '1':
print('you choosed spam')
spam()
else:
quit()
def spam():
driver.find_element(By.CSS_SELECTOR, "span[title='" + input("Enter name to spam: ") + "']").click()
inputString = input("Enter message to send: ")
inputAmount = int(input("Enter an Amount of messages"))
for i in range(inputAmount):
driver.find_element(By.XPATH, '//*[@id="main"]/footer/div[1]/div/span[2]/div/div[2]/div[1]/div/div[2]').send_keys(inputString)
driver.implicitly_wait(1)
driver.find_element(By.XPATH, '//*[@id="main"]/footer/div[1]/div/span[2]/div/div[2]/div[2]').click()
if __name__ == "__main__":
PATH = "C:/Users/florianbl/Documents/chromedriver.exe"
main()
If I run the code it come: Enter name to spam: Jushkun Traceback (most recent call last): File "c:\Users\florianbl\Documents\scripts\whatsapp_bot.py", line 62, in <module> main() File "c:\Users\florianbl\Documents\scripts\whatsapp_bot.py", line 23, in main choose() File "c:\Users\florianbl\Documents\scripts\whatsapp_bot.py", line 29, in choose spam() File "c:\Users\florianbl\Documents\scripts\whatsapp_bot.py", line 37, in spam driver.find_element(By.CSS_SELECTOR, "span[title='" + input("Enter name to spam: ") + "']").click() File "C:\Users\florianbl\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\selenium\webdriver\remote\webdriver.py", line 1248, in find_element return self.execute(Command.FIND_ELEMENT, { File "C:\Users\florianbl\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\selenium\webdriver\remote\webdriver.py", line 425, in execute self.error_handler.check_response(response) File "C:\Users\florianbl\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"span[title='Jushkun']"} (Session info: chrome=100.0.4896.75)
and also:
[16160:11864:0406/094422.314:ERROR:gpu_init.cc(446)] Passthrough is not supported, GL is disabled, ANGLE is [19008:25812:0406/094522.321:ERROR:device_event_log_impl.cc(214)] [09:45:22.322] USB: usb_service_win.cc:391 Could not read device interface GUIDs: Das System kann die angegebene Datei nicht finden. (0x2) [19008:25812:0406/094522.324:ERROR:device_event_log_impl.cc(214)] [09:45:22.325] USB: usb_service_win.cc:354 Could not get child device's service name: Element nicht gefunden. (0x490) [19008:25812:0406/094522.326:ERROR:device_event_log_impl.cc(214)] [09:45:22.327] USB: usb_service_win.cc:391 Could not read device interface GUIDs: Das System kann die angegebene Datei nicht finden. (0x2)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
