Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

270
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!