¿Cómo crear un repositorio de GitHub usando Python Selenium?

Prerrequisito: Selenium

Selenium es una poderosa herramienta para controlar los navegadores web a través de programas y realizar la automatización del navegador. Es funcional para todos los navegadores, funciona en todos los principales sistemas operativos y sus scripts están escritos en varios lenguajes, es decir, Python, Java, C#, etc. Trabajaremos con Python. Selenium Tutorial cubre todos los temas, como: WebDriver, WebElement, Unit Testing con selenium. Este tutorial de Python Selenium cubre Selenium desde lo básico hasta los usos avanzados y profesionales.

En este artículo, escribiremos un script de python que creará un repositorio de GitHub usando selenium en Python

Pasos para crear un repositorio de GitHub:

  • Antes de crear un repositorio, primero debemos iniciar sesión (Requerir nombre de usuario y contraseña).
  • Después de iniciar sesión, iremos a crear un nuevo repositorio y luego solicitaremos el nombre del repositorio.
  • Después de esto quedan tres cosas; descripciones, modo (Privado o Público) y archivo Léame.

Enfoque paso a paso:

Paso 1: importe el módulo y cree el objeto Chrome

Python3

# import Module
from selenium import webdriver
 
# Create Chrome Object
driver = webdriver.Chrome(
    'Chrome Driver Path')

Paso 2: Cree github_repo() con los siguientes argumentos para acceder al usuario GitHub con los parámetros adecuados y realizar las tareas requeridas.

Python3

def github_repo(user_name, pass_word,
                repository_name, descriptions=False,
                private=False, readme=False):
     
    # Open github login page
    driver.get('https://github.com/login')
 
    # Username
    username = driver.find_element_by_xpath('//*[@id="login_field"]')
    username.send_keys(user_name)
 
    # Password
    password = driver.find_element_by_xpath('//*[@id="password"]')
    password.send_keys(pass_word)
 
    # Click on sign in button
    signin = driver.find_element_by_xpath(
        '//*[@id="login"]/div[4]/form/input[14]')
    signin.click()
 
    # Create new repo.
    new_repo = driver.find_element_by_xpath('//*[@id="repos-container"]/h2/a')
    new_repo.click()
 
    # Enter Repo. name
    repositoryname = driver.find_element_by_xpath('//*[@id="repository_name"]')
    repositoryname.send_keys(repository_name)
 
    # Optional
 
    # Enter Description
    if descriptions:
        description = driver.find_element_by_xpath(
            '//*[@id="repository_description"]')
        description.send_keys(descriptions)
 
    # Private Mode
    if private:
        private = driver.find_element_by_xpath(
            '//*[@id="repository_visibility_private"]')
        private.click()
 
    # Create ReadMe File
    if readme:
        readme = driver.find_element_by_xpath(
            '//*[@id="repository_auto_init"]')
        readme.click()

Paso 3: llame a la función anterior con los parámetros adecuados en el código del controlador para crear un repositorio de GitHub.

Python3

github_repo("Enter Usename", "Enter Password",
            "Repository name")

A continuación se muestra la implementación:

Python3

# import Module
from selenium import webdriver
 
# Create Chrome Object
driver = webdriver.Chrome('Chrome Driver Path')
 
 
def github_repo(user_name, pass_word,
                repository_name, descriptions=False,
                private=False, readme=False):
     
    # Open github login page
    driver.get('https://github.com/login')
 
    # Username
    username = driver.find_element_by_xpath('//*[@id="login_field"]')
    username.send_keys(user_name)
 
    # Password
    password = driver.find_element_by_xpath('//*[@id="password"]')
    password.send_keys(pass_word)
 
    # Click on signin button
    signin = driver.find_element_by_xpath(
        '//*[@id="login"]/div[4]/form/input[14]')
    signin.click()
 
    # Create new repo.
    new_repo = driver.find_element_by_xpath('//*[@id="repos-container"]/h2/a')
    new_repo.click()
 
    # Enter Repo. name
    repositoryname = driver.find_element_by_xpath('//*[@id="repository_name"]')
    repositoryname.send_keys(repository_name)
 
    # Optional
 
    # Enter Description
    if descriptions:
        description = driver.find_element_by_xpath(
            '//*[@id="repository_description"]')
        description.send_keys(descriptions)
 
    # Private Mode
    if private:
        private = driver.find_element_by_xpath(
            '//*[@id="repository_visibility_private"]')
        private.click()
 
    # Create ReadMe File
    if readme:
        readme = driver.find_element_by_xpath(
            '//*[@id="repository_auto_init"]')
        readme.click()
 
 
github_repo("Enter Usename", "Enter Password",
            "Repository name")
 
print("Repository created")
 
create_repo = driver.find_element_by_xpath(
    '//*[@id="new_repository"]/div[4]/button')
 
create_repo.click()

Producción:

Publicación traducida automáticamente

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