Inicio de sesión de Facebook usando Python

Las secuencias de comandos de Python son una de las cosas más intrigantes y fascinantes que se pueden hacer mientras se aprende Python. La automatización y el control del navegador es una de ellas.

En este artículo en particular, veremos cómo iniciar sesión en la cuenta de Facebook usando Python y el poder del selenium.

Selenium automatiza y controla los navegadores y su actividad. Podemos codificar en nuestra forma de controlar las tareas del navegador con la ayuda de selenium. Principalmente, es para automatizar aplicaciones web con fines de prueba, pero ciertamente no se limita solo a eso. Las aburridas tareas de administración basadas en la web también se pueden automatizar. A medida que aprende más, es muy divertido ver que las cosas suceden automáticamente y ahorrar tiempo al realizar tareas inútiles una y otra vez.

Usamos selenium aquí para abrir el sitio de nuestro requerimiento (en este caso Facebook) y allí inspeccionamos los elementos a través del cuadro de correo electrónico, el cuadro de contraseña y el botón de inicio de sesión para encontrar la identificación de ellos.

  • Usando la función find_element_by_id() proporcionada por el módulo Selenium, podemos encontrar el elemento requerido (cuadro de nombre de usuario, cuadro de contraseña, botón de inicio de sesión)
  • Usando la función send_keys() , proporcionada por el módulo Selenium, enviaremos los datos al cuadro.
  1. Se requiere la instalación de módulos de terceros
    Selenium 
    getpass
    Additional Requirement : geckodriver for firefox and 
                             chromedriver for chrome
    
  2. Importación de módulos necesarios
    • Selenium: para automatizar el navegador
    • Tiempo: para pausar la ejecución del script durante algunos segundos mientras los navegadores intentan detectar cosas de automatización si ingresamos demasiado rápido
  3. Tomando el nombre de usuario y la contraseña como entrada del usuario
    Usando la función input() y pasando el mensaje de aviso como argumento.
  4. Al abrir el navegador y el sitio web requerido
    webdriver.Chrome() se abrirá una nueva ventana de Chrome. Guardaremos su objeto en la variable denominada controlador.
    Ahora, usando la función de obtención, abriremos el sitio web de Facebook.
  5. Búsqueda de elemento para enviar datos y enviar entrada
    Utilice la herramienta de inspección de elemento en el elemento del navegador del que desea encontrar la identificación. En este caso, inspeccionaremos el cuadro de nombre de usuario, el cuadro de contraseña, el botón de inicio de sesión para encontrar su identificación. Y luego use esta identificación combinada con la función de selenium find_element_by_id() para encontrarla en la página web y guardarla en variables para su uso posterior. Luego, al usar send_keys() , enviaremos datos a través de los elementos encontrados anteriormente.
  6. Cerrar el navegador
    Después de todos los pasos anteriores, tenemos que salir de la sesión y se logrará usando driver.quit().
    Nota: Aquí , el controlador es el nombre de la variable que eligió para webdriver.Chrome().

Código completo:

from selenium import webdriver
from time import sleep
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options 
  
usr=input('Enter Email Id:') 
pwd=input('Enter Password:') 
  
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://www.facebook.com/')
print ("Opened facebook")
sleep(1)
  
username_box = driver.find_element_by_id('email')
username_box.send_keys(usr)
print ("Email Id entered")
sleep(1)
  
password_box = driver.find_element_by_id('pass')
password_box.send_keys(pwd)
print ("Password entered")
  
login_box = driver.find_element_by_id('loginbutton')
login_box.click()
  
print ("Done")
input('Press anything to quit')
driver.quit()
print("Finished")

Vea cómo un código tan conciso puede automatizar las cosas para usted.

Bonificación:
también podemos ingresar la contraseña sin mostrarla en la pantalla , por motivos de seguridad. Para eso tenemos que incluir un módulo más llamado getpass . Ahora, con solo un cambio en la declaración de entrada de la contraseña, podemos ingresar la contraseña sin mostrarla en la pantalla.

from getpass import getpass
pwd = getpass('Enter Password:') 

Getpass solicita al usuario una contraseña sin hacer eco. Básicamente te permite ingresar la contraseña sin mostrarla en la pantalla.

Del mismo modo, también puede automatizar muchas otras cosas, como iniciar sesión en Twitter, twittear, cerrar sesión en Facebook y mucho más.

En caso de cualquier consulta, publíquela a continuación en la sección de comentarios. Si te gustó este artículo y quieres ver más cosas similares, házmelo saber en la sección de comentarios a continuación.

Este artículo es una contribución de Umang Ahuja . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *