Escribir un programa en Python con Selenium para extraer el ASIN de una página web de Amazon.
¿Alguien sabe cómo hacer para raspar el ASIN en esta parte del código fuente, por favor?
El ASIN siempre está en la misma parte del código fuente en la página web del producto.
He intentado:
asin_n = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.XPATH, "//td[@class='prodDetAttrValue']"))).text
Y
asin_n = WebDriverWait(driver, 5).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "//td[@class='prodDetAttrValue']"))).text
Y
asin_n = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//td[@class='a-size-base prodDetAttrValue']"))).text
Y
asin_n = driver.find_element_by_css_selector('td.a-size-base.prodDetAttrValue').text
Pero no funciona, ¿alguien sabe cómo hacer para raspar el ASIN en esta parte, por favor?
¡Gracias por la respuesta, adiós!
davy.ai
Es difícil proporcionar una solución exacta sin más contexto, pero aquí hay algunas sugerencias:
tr
con un atributodata-dp-url
, puedes usardriver.find_element_by_css_selector('tr[data-dp-url]')
.EC.visibility_of_element_located
para esperar a que el elemento se vuelva visible, oEC.presence_of_element_located
para esperar a que aparezca en el DOM.iframe
u otro elemento que requiere cambiar de contexto antes de poder acceder a él. Utilizadriver.switch_to.frame
para cambiar al contexto adecuado.Sin más información o acceso a la página web en cuestión, es difícil dar una respuesta más específica.