¿Cómo desplazarse hacia abajo en la ventana emergente de seguidores en Instagram?

Aquí, en este artículo, vamos a discutir cómo desplazarse hacia abajo en la ventana emergente de seguidores en Instagram usando Python. Con el selenium, automatizaremos nuestros navegadores y realizaremos la automatización en el sitio web social de Instagram. Antes de pasar a la implementación práctica, necesitamos instalar la Biblioteca Selenium usando el comando pip.

Instalación:

pip install Selenium

Ahora, vamos a comprobar si nuestro selenium está instalado o no. Si el siguiente comando no dio ningún error, eso significa que el selenium se instaló correctamente.

Python3

import selenium
print(selenium.__version__)

Producción:

3.141.0

Acercarse:

Ahora, analicemos el enfoque de cómo podemos realizar la funcionalidad de desplazamiento hacia abajo. Usando el bucle while, nos desplazaremos hacia abajo en la ventana emergente de seguidores hasta que nuestro programa llegue al último seguidor. Primero, automatizaremos el proceso de inicio de sesión con nuestra identificación de inicio de sesión y contraseña y luego iremos a la página de Instagram de GeeksforGeeks. Haga clic en el botón del seguidor y luego realice la operación de desplazamiento hacia abajo en la ventana emergente. 

  • Primero, necesitamos importar el módulo de tiempo y todas las clases o métodos necesarios de la biblioteca de Selenium .
  • Instalación de Chrome Web Driver a través del cual realizaremos todas las tareas en Chrome Web Browser. Al igual que Chrome, podemos instalar cualquier otro navegador como Edge, IE, Firefox y muchos más.
driver = webdriver.Chrome(ChromeDriverManager().install())

Usando la línea anterior, no requerimos tener ningún controlador físico presente en nuestro sistema. Esta línea instalará automáticamente el controlador web de Chrome necesario mediante la web.

  • Abra el sitio web utilizando el objeto del controlador y el método get() con la URL dada.
driver.get("http://www.instagram.com")
  • WebDriverWait también se llama espera explícita . La espera explícita es un código que define esperar a que ocurra una determinada condición antes de continuar. en este código, con la ayuda de CSS_SELECTOR , encontraremos los campos de nombre de usuario y contraseña para iniciar sesión.

nombre de usuario = WebDriverWait(controlador, 10).hasta(EC.element_to_be_clickable((By.CSS_SELECTOR, “input[name=’username’]”)))

contraseña = WebDriverWait(controlador, 10).hasta(EC.element_to_be_clickable((By.CSS_SELECTOR, “input[name=’password’]”)))

  • Ahora, antes de poner el nombre de usuario y la contraseña en el campo seleccionado, primero borre los campos de nombre de usuario y contraseña usando el método clear(). Luego, coloque el valor de nombre de usuario y contraseña usando el método send_keys() .
username.clear()
username.send_keys("<Enter_Your_Username")
password.clear()
password.send_keys("<Enter_Your_Password>")
  • Haga clic en el botón Iniciar sesión usando CSS_SELECTOR .

button = WebDriverWait(driver, 2).hasta(EC.element_to_be_clickable((By.CSS_SELECTOR, “button[type=’submit’]”))).click()

  • Hemos terminado con el inicio de sesión de Instagram. Ahora, podemos abrir la URL de nuestro perfil de destino en el que realizaremos el desplazamiento.
driver.get("https://www.instagram.com/geeks_for_geeks/followers/")

Aquí, en esta implementación práctica, estamos usando la ventana emergente de seguidores de geeksforgeeks para desplazarse.

  • Haga clic en el botón de seguidores usando el método find_element_by_partial_link_text .
  • Encuentre el elemento de la ventana emergente de una página web usando XPATH. En la ventana emergente, usaremos un bucle while para realizar el desplazamiento hasta que el programa llegue a los últimos seguidores. Es por eso que siempre tomamos nuestro bucle como VERDADERO.
  • Finalmente, una vez que hayamos terminado con nuestra tarea. Usaremos el método quit() para cerrar los recursos.

A continuación se muestra la implementación completa:

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())
  
# open the webpage
driver.get("http://www.instagram.com")
  
# target username
username = WebDriverWait(
    driver, 10).until(EC.element_to_be_clickable(
        (By.CSS_SELECTOR, "input[name='username']")))
  
# target Password
password = WebDriverWait(
    driver, 10).until(EC.element_to_be_clickable(
        (By.CSS_SELECTOR, "input[name='password']")))
  
# enter username and password
username.clear()
username.send_keys("<Enter_Your_Username>")
password.clear()
password.send_keys("<Enter_Your_Password>")
  
# target the login button and click it
button = 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 there
while True:
    driver.execute_script(
        'arguments[0].scrollTop = arguments[0].scrollTop + arguments[0].offsetHeight;', 
      pop_up_window)
    time.sleep(1)
  
driver.quit()

Producción:

Publicación traducida automáticamente

Artículo escrito por shubhanshuarya007 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *