Last active
May 19, 2025 07:36
-
-
Save deepak3081996/ca77083f3780280c38a039add2b4a290 to your computer and use it in GitHub Desktop.
send whatsapp messages using python
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| from selenium import webdriver | |
| from selenium.webdriver.support.ui import WebDriverWait | |
| from selenium.webdriver.support import expected_conditions as EC | |
| from selenium.webdriver.common.by import By | |
| from selenium.webdriver.common.keys import Keys | |
| def message(to,message=''): | |
| """this a simple function to send a whatsapp message to your friends | |
| and group using python and selenium an automated tool to parse the HTML | |
| content and to change the properties. | |
| paramters: | |
| to - enter a name from your contacts it can be friend's name or a group's title. | |
| message - message to be deliever""" | |
| d = webdriver.Chrome(r'F:/chrome driver/chromedriver.exe') # directory to chromedriver | |
| d.get('https://web.whatsapp.com/') # URL to open whatsapp web | |
| wait = WebDriverWait(driver = d, timeout = 900) # inscrease or decrease the timeout according to your net connection | |
| message += '\nthis is a system generated message' # additional text to with your message to identify that it is send via software | |
| name_argument = f'//span[contains(@title,\'{to}\')]' # HTML parse code to identify your reciever | |
| title = wait.until(EC.presence_of_element_located((By.XPATH,name_argument))) | |
| title.click() # to open the receiver messages page in the browser | |
| # many a times class name or other HTML properties changes so keep a track of current class name for input box by using inspect elements | |
| input_path = '//div[@class="pluggable-input-body copyable-text selectable-text"][@dir="auto"][@data-tab="1"]' | |
| box = wait.until(EC.presence_of_element_located((By.XPATH,input_path))) | |
| box.send_keys(message + Keys.ENTER) # send your message followed by an Enter |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
i tried this and getting this error, can you help
Warning (from warnings module):
File "D:\College\Python\Next\try.py", line 6
driver = webdriver.Chrome(chrome_options=options)
DeprecationWarning: use options instead of chrome_options
Traceback (most recent call last):
File "D:\PYTHON\lib\site-packages\selenium\webdriver\common\service.py", line 71, in start
self.process = subprocess.Popen(cmd, env=self.env,
File "D:\PYTHON\lib\subprocess.py", line 969, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "D:\PYTHON\lib\subprocess.py", line 1438, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\College\Python\Next\try.py", line 6, in
driver = webdriver.Chrome(chrome_options=options)
File "D:\PYTHON\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 69, in init
super().init(DesiredCapabilities.CHROME['browserName'], "goog",
File "D:\PYTHON\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 89, in init
self.service.start()
File "D:\PYTHON\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start
raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home