En este artículo, analicemos cómo encontrar un botón por texto usando Selenium . Vea el siguiente ejemplo para tener una idea sobre el significado del botón de búsqueda por texto.
Ejemplo:
URL: https://html.com/tags/button/
Necesitamos encontrar el botón «¡HAZ CLIC EN MÍ!» botón usando el texto «¡Haz clic en mí!».
Módulo necesario:
Selenium: el paquete Selenium se utiliza para automatizar la interacción del navegador web desde Python. Es una herramienta de código abierto que se utiliza principalmente para realizar pruebas. Ejecute el siguiente comando en la terminal para instalar esta biblioteca:
pip install selenium
Configurar controladores web:
Web Driver es un paquete para interactuar con un navegador web. Puede instalar cualquier controlador web de acuerdo con su elección de navegador. Instale cualquiera de ellos usando los enlaces dados-
Firefox | https://github.com/mozilla/geckodriver/releases |
Safari | https://webkit.org/blog/6900/webdriver-support-en-safari-10/ |
Cromo | https://sites.google.com/a/chromium.org/chromedriver/downloads |
Aquí, vamos a usar ChromeDriver.
Encuentra xpath del botón:
- Método 1: Uso de Inspeccionar elemento
Haga clic con el botón derecho en el elemento que está tratando de encontrar el xpath. Seleccione la opción «Inspeccionar».
- Haga clic derecho en el área resaltada en la consola. Ir a Copiar xpath
- Método 2: usar la extensión de Chrome para encontrar xpath fácilmente:
podemos encontrar fácilmente xpath de un elemento usando una extensión de Chrome como SelectorGadget .
Acercarse:
- Importar Selenium y biblioteca de tiempo
- Establezca la ruta del controlador web con la ubicación donde descargó el ejemplo de WebDriver
: «C:\\chromedriver.exe» - Llame a la función driver.get() para navegar a una URL en particular.
- Llame a la función time.sleep() para esperar a que el controlador cargue completamente la página web.
- Use el método driver.find_element_by_xpath() para encontrar el botón usando xpath.
- Encontrar el botón por texto-
(i) Usando el método normalize-space():
driver.find_element_by_xpath(‘//button[normalize-space()=”Click me!”]’)
(ii) Usando el método text():
driver. find_element_by_xpath(‘//button’)
Nota: Se recomienda usar el método normalize-space() porque recorta los espacios del lado izquierdo y derecho. Es posible que pueda haber espacios presentes al principio o al final del texto de destino. - Por último, cierre el controlador con la función driver.close().
Implementación:
Python3
# Import Library from selenium import webdriver import time # set webdriver path here it may vary # Its the location where you have downloaded the ChromeDriver driver = webdriver.Chrome(executable_path=r"C:\\chromedriver.exe") # Get the target URL driver.get('https://html.com/tags/button/') # Wait for 5 seconds to load the webpage completely time.sleep(5) # Find the button using text driver.find_element_by_xpath('//button[normalize-space()="Click me!"]').click() time.sleep(5) # Close the driver driver.close()
Producción:
Publicación traducida automáticamente
Artículo escrito por yuvraj_chandra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA