Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
¿Por qué no puedo obtener texto con el método .text cuando existe texto?

Estoy practicando web scraping usando Selenium, y espero obtener el color de este vestido. Cuando inspecciono el sitio web, puedo ver el contenido del texto en la clase 'texto del lector de pantalla', pero cuando trato de buscarlo, siempre obtengo un valor vacío. ¿Que esta pasando? ¿Será porque la web de Zara me bloquea para rasparlo? Mi código es el siguiente,

 driver_path = 'D:/Python/Selenium/chromedriver' option1 = webdriver.ChromeOptions() option1.add_experimental_option('detach',True) driver = webdriver.Chrome(chrome_options=option1,executable_path=driver_path) driver.get(url) color = driver.find_element_by_xpath('//*[@id="main"]/article/div[1]/div[2]/div[1]/div[3]/ul/li[1]/button/span/span/span').text

Como deseo obtener todos los colores posibles, también probé el siguiente código, que no funciona tan bien:(

 colors = driver.find_elements_by_xpath('//*[@id="main"]/article/div[1]/div[2]/div[1]/div[3]/ul') col = [] for i,color in enumerate(colors): prefix = '//*[@id="main"]/article/div[1]/div[2]/div[1]/div[3]/ul' try: col.append(color.find_elements_by_xpath(prefix+f'/li[{i}]'+'/button/span/span/span').text) except: pass col

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Aquí hay una solución de SeleniumBase que obtiene la respuesta: (SeleniumBase es un marco de Selenium Python).

 from seleniumbase import BaseCase class MyTestClass(BaseCase): def test_example(self): self.open("https://www.zara.com/us/en/jacquard-mini-dress-p01198636.html?v1=140654644") elements = self.find_elements(".product-detail-color-selector__color-area span") print("\nColors:") for element in elements: print(element.get_property("textContent"))

Aquí está el resultado de eso:

 Colors: Ecru / Brown Printed

La conclusión importante es que debe usar element.get_property("textContent") para obtener el texto porque el elemento en sí no está visible, aunque el texto aparece en el HTML. La solución también utiliza un selector más limpio para encontrar los elementos.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda