Estoy tratando de hacer un webscraping a través de Selenium. Mi pregunta es muy simple: ¿cómo encontrar un enlace y luego cómo hacer clic en él? Por ejemplo: el siguiente es el HTML que estoy tratando de raspar en la web:
Details
Entonces, como se puede ver, la palabra “Detalles” es un enlace.
¿Cómo puedo encontrar ese enlace usando Selenium y hacer clic en él?
Puedes usar find_element_by_link_text
:
Por ejemplo:
link = driver.find_element_by_link_text('Details')
Para hacer clic en él, simplemente llame al método de clic:
link.click()
Entonces puedes probar algo como esto.
for (int i=0; i<td.length(); i++){ driver.find_element_by_xpath("(//a[contains(text(),'Details')])[i]").click() }
Puede intentar hacer clic en el enlace utilizando el localizador xpath, por ejemplo
link=driver.find_element_by_xpath(.//*[@id="content"]/div[3]/div/div/div[2]/h4) link.click()
Una cosa se pierde por todos. Es una lista por la siguiente statement. Necesitas seleccionar un elemento de esta lista.
driver.find_element_by_link_text('Details')
Si chequeas
for i in driver.find_element_by_link_text('Details') i.click()
BINGO 🙂