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: