-
-
Save IaroslavR/4ae18eb0e9b2c999c9898f06c383236c 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