La técnica para verificar si los requisitos dados por el usuario cumplen con el producto de software real desarrollado se conoce como Pruebas de Software . Además, también verifica si el producto de software final desarrollado está libre de errores o no. Las pruebas de software se pueden realizar manualmente o con la ayuda de herramientas de prueba de software. Las pruebas que se realizan automáticamente a través de las herramientas integradas se conocen como pruebas de automatización. Una biblioteca increíble en Python, Selenium lo ayuda en las pruebas automatizadas del software. Mientras realiza las pruebas de automatización, ¿no puede encontrar un elemento por texto en la página web requerida? Entonces, estás en un lugar apropiado. En este artículo, discutiremos los pasos apropiados junto con un ejemplo para hacer lo mismo.
Sintaxis: driver.find_element_by_xpath(“//etiqueta [contiene(texto(), ‘palabra’)]”)
Parámetros:
- etiqueta: aquí, etiqueta representa el nombre de la etiqueta que contiene la palabra en particular.
- palabra: Aquí, palabra representa el texto que debe encontrarse en una string particular. No necesitamos escribir una oración completa que queramos encontrar, pero podemos escribir algunas palabras que son únicas en la página web.
Ejemplo: Por ejemplo, considere esta fuente de página simple:
HTML
<!DOCTYPE html> <html> <body> <button type= “button” >Geeks For Geeks</button> </body> <html>
Una vez que haya creado un controlador, puede capturar un elemento usando:
botón = controlador.find_element_by_xpath («//botón[contiene(texto( ), ‘Geeks para Geeks’)]»)
Entendamos esto con la implementación:
Paso 1: primero, importa las bibliotecas, el selenium y la hora.
Python
from selenium import webdriver from time import sleep
Paso 3: A continuación, establezca una conexión con el controlador web a través de la ruta del ejecutable.
Python3
driver = webdriver.Chrome( executable_path="#path where you have installed webdriver")
Paso 4: Ahora, descargue el sitio web en el que desea encontrar el elemento.
Python3
driver.get("#Enter the website URL")
Paso 5: Luego, haga que Python duerma durante unos segundos para que, en ese momento, la página web se cargue.
Python3
sleep(#duration)
Paso 6: finalmente, encuentre el elemento deseado a través del texto en la página web dada.
Python3
driver.find_element_by_xpath(“//#tag name which contains word [contains( text(), ‘#word to be found in a particular string’)]”)
A continuación se muestra la implementación completa:
Python
# Python Program to find element by text #import webdriver from selenium import webdriver #import time from time import sleep # create webdriver object driver = webdriver.Chrome( executable_path="C:\selenium\chromedriver_win32\chromedriver.exe") # get the website driver.get("http://bit.ly/vinayakgfg") # sleep for some time sleep(3) # get element through text driver.find_element_by_xpath("// a[contains(text(),\ '5 CHEAP HOLIDAY')]").click() # sleep for some time sleep(4)
Producción:
Además, se busca el texto que se va a encontrar y se muestra el resultado como se indica a continuación.
Más localizadores para localizar elementos individuales:
localizadores |
Descripción |
---|---|
encontrar_elemento_por_id | Se devolverá el primer elemento con el valor del atributo id que coincida con la ubicación. |
buscar_elemento_por_nombre | Se devolverá el primer elemento con el valor del atributo de nombre que coincida con la ubicación. |
encontrar_elemento_por_xpath | Se devolverá el primer elemento con la sintaxis xpath que coincida con la ubicación. |
buscar_elemento_por_enlace_texto | Se devolverá el primer elemento con el valor del texto del enlace que coincida con la ubicación. |
find_element_by_parcial_link_text | Se devolverá el primer elemento con el valor de texto de enlace parcial que coincida con la ubicación. |
buscar_elemento_por_nombre_de_etiqueta | Se devolverá el primer elemento con el nombre de etiqueta dado. |
buscar_elemento_por_nombre_de_clase | Se devolverá el primer elemento con el nombre de atributo de clase coincidente. |
buscar_elemento_por_css_selector | Se devolverá el primer elemento con el selector de CSS coincidente. |