How to scroll down followers popup in Instagram ?

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.
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 seleniumprint(selenium.__version__)
Output:
3.141.0
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 timefrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.wait import WebDriverWaitfrom webdriver_manager.chrome import ChromeDriverManagerfrom selenium.webdriver.support import expected_conditions as ECfrom webdriver_manager.microsoft import EdgeChromiumDriverManager  driver = webdriver.Chrome(ChromeDriverManager().install())  # open the webpagedriver.get("http://www.instagram.com")  # target usernameusername = WebDriverWait(    driver, 10).until(EC.element_to_be_clickable(        (By.CSS_SELECTOR, "input[name='username']")))  # target Passwordpassword = WebDriverWait(    driver, 10).until(EC.element_to_be_clickable(        (By.CSS_SELECTOR, "input[name='password']")))  # enter username and passwordusername.clear()username.send_keys("<Enter_Your_Username>")password.clear()password.send_keys("<Enter_Your_Password>")  # target the login button and click itbutton = WebDriverWait(    driver, 2).until(EC.element_to_be_clickable(        (By.CSS_SELECTOR, "button[type='submit']"))).click()  time.sleep(5)  driver.get("https://www.instagram.com/geeks_for_geeks/followers/")  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']")))  # Scroll till Followers list is therewhile True:    driver.execute_script(        'arguments[0].scrollTop = arguments[0].scrollTop + arguments[0].offsetHeight;',       pop_up_window)    time.sleep(1)  driver.quit()
Output:
Picked
Python Selenium-Exercises
Python-selenium
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to iterate through Excel rows in Python?
Rotate axis tick labels in Seaborn and Matplotlib
Deque in Python
Queue in Python
Defaultdict in Python
Check if element exists in list in Python
Python Classes and Objects
Bar Plot in Matplotlib
reduce() in Python
Python | Get unique values from a list