Haciendo clic en un enlace vía selenium.

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&lttd.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 🙂