Python Selenium – Encuentra elemento por texto

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.

Publicación traducida automáticamente

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