How to scroll down followers popup in Instagram ?
Last Updated :
26 Mar, 2021
Here, in this article, we are going to discuss How to scroll down followers popup on Instagram Using Python. With the selenium, we will automate our browsers and performs automation on Instagram’s Social Website. Before going to practical implementation, we need to install the Selenium Library using the pip command.
Installation:
pip install Selenium
Now, Let’s check whether our selenium is installed or not. If the below command did not give any error that means selenium is successfully installed.
Python3
import selenium
print (selenium.__version__)
|
Output:
3.141.0
Approach:
Now, Let’s discuss the approach to how we can perform scrolling down functionality. Using while loop, We will scroll down the followers pop-up window until our program reached till the last follower. First, we will automate the login process with our login id and password and then go to the GeeksforGeeks Instagram page. Click on the follower’s button and then perform the scrolling down operation on the popup window.
- First, we need to import the time module and all necessary classes or methods from the Selenium Library.
- Installing Chrome Web Driver through which we will perform all tasks on Chrome Web Browser. Same as Chrome, we can install any other browsers such as Edge, IE, Firefox, and many more.
driver = webdriver.Chrome(ChromeDriverManager().install())
Using the above line, we do not require to have any physical driver present in our system. This line will automatically install the required chrome web driver using the web.
- Open the Website using the driver object and get() method with the given URL.
driver.get("http://www.instagram.com")
- WebDriverWait is also called Explicit Wait. Explicit Wait is code which defines to wait for a certain condition to occur before proceeding further. in this code, With the help of CSS_SELECTOR, we will find the username and password fields for login purpose.
username = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, “input[name=’username’]”)))
password = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, “input[name=’password’]”)))
- Now, before putting the username and password in the selected field, first, clear the username and password fields using the clear() method. Then, Put the username and password value using send_keys() method.
username.clear()
username.send_keys("<Enter_Your_Username")
password.clear()
password.send_keys("<Enter_Your_Password>")
- Click on the Login button using CSS_SELECTOR.
button = WebDriverWait(driver, 2).until(EC.element_to_be_clickable((By.CSS_SELECTOR, “button[type=’submit’]”))).click()
- We are done with Instagram Login. Now, We can open our target profile URL on which we will perform the scrolling.
driver.get("https://www.instagram.com/geeks_for_geeks/followers/")
Here, in this practical implementation, we are using geeksforgeeks followers pop up for scrolling.
- Click on followers button using find_element_by_partial_link_text method.
- Find the pop-up window element from a webpage using XPATH. On the pop-up window, we will use a while loop for performing the scrolling until the program gets reached to the last followers. That’s why we take our loop as TRUE always.
- Finally, Once we are done with our task. We will use the quit() method for closing the resources.
Below is the full implementation:
Python3
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.microsoft import EdgeChromiumDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
username = WebDriverWait(
driver, 10 ).until(EC.element_to_be_clickable(
(By.CSS_SELECTOR, "input[name='username']" )))
password = WebDriverWait(
driver, 10 ).until(EC.element_to_be_clickable(
(By.CSS_SELECTOR, "input[name='password']" )))
username.clear()
username.send_keys( "<Enter_Your_Username>" )
password.clear()
password.send_keys( "<Enter_Your_Password>" )
button = WebDriverWait(
driver, 2 ).until(EC.element_to_be_clickable(
(By.CSS_SELECTOR, "button[type='submit']" ))).click()
time.sleep( 5 )
driver.find_element_by_partial_link_text( "follower" ).click()
pop_up_window = WebDriverWait(
driver, 2 ).until(EC.element_to_be_clickable(
(By.XPATH, "//div[@class='isgrP']" )))
while True :
driver.execute_script(
'arguments[0].scrollTop = arguments[0].scrollTop + arguments[0].offsetHeight;' ,
pop_up_window)
time.sleep( 1 )
driver.quit()
|
Output:
Please Login to comment...