In this article, we will learn how we can send a direct message to users on Instagram without any manual action. We will be using the selenium module to do this task.
Requirements:
- Chrome Driver for Chrome Browser (https://chromedriver.chromium.org/) or Gecko Driver for Firefox(https://github.com/mozilla/geckodriver/releases)
- Selenium Package. To install this type the below command in the terminal.
pip install selenium
Note: For more information, refer How to install Selenium in Python
Approach:
Step 1: Importing modules and entering the login information along with the username of the user whom you want to send a message.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import selenium.common.exceptions
import time
import random
# Login Credentials username = input ( 'Enter your Username ' )
password = input ( 'Enter your Password ' )
|
Step 2: Function to initialize Firefox or chrome session. You might need to add the path to the web driver. Chrome function, it depends on your installation.
def path():
global chrome
# starts a new chrome session
chrome = webdriver.Chrome() # Add path if required
|
Step 3: Function to enter the URL of the page
def url_name(url):
chrome.get(url)
# adjust sleep if you want
time.sleep( 4 )
|
Step 4: Function to login to Instagram
def login(username, your_password):
log_but = chrome.find_element_by_class_name( "L3NKy" )
time.sleep( 2 )
log_but.click()
time.sleep( 4 )
# finds the username box
usern = chrome.find_element_by_name( "username" )
# sends the entered username
usern.send_keys(username)
# finds the password box
passw = chrome.find_element_by_name( "password" )
# sends the entered password
passw.send_keys(your_password)
# press enter after sending password
passw.send_keys(Keys.RETURN)
time.sleep( 5.5 )
# Finding Not Now button
notk = chrome.find_element_by_class_name( "yWX7d" )
notk.click()
time.sleep( 3 )
|
Step 5: Find the message Button on the User profile page and then send random messages to the user
def send_message():
# Find message button
message = chrome.find_element_by_class_name( '_862NM ' )
message.click()
time.sleep( 2 )
chrome.find_element_by_class_name( 'HoLwm ' ).click()
time.sleep( 1 )
l = [ 'hello' , 'Hi' , 'How are You' , 'Hey' , 'Bro whats up' ]
for x in range ( 10 ):
mbox = chrome.find_element_by_tag_name( 'textarea' )
mbox.send_keys(random.choice(l))
mbox.send_keys(Keys.RETURN)
time.sleep( 1.2 )
|
Step 6: Calling Functions
path() time.sleep( 1 )
url_name(url) login(username, password) send_message() chrome.close() |
That’s it! This script will automatically send messages to your loved one. You can do a lot by modifying this script like scheduling automatic messages, sending messages to bulk users and many more.
Output: