web-dev-qa-db-fra.com

en cliquant sur un lien via Selenium en python

J'essaie de faire du webscraping via Selenium. Ma question est très simple: comment trouver un lien et comment cliquer dessus? Par exemple: Voici le code HTML que j'essaie de supprimer Web:

<td bgcolor="#E7EFF9">
  <a href="javascript:selectDodasaDetdasdasy(220011643,'Kdasdası');" target="_self">
   Details
  </a>
</td>

Donc, comme vous pouvez le voir, le mot "Détails" est un lien.

Comment puis-je trouver ce lien avec Selenium et cliquer dessus?

24
canbaran

Vous pouvez utiliser find_element_by_link_text :

Par exemple:

link = driver.find_element_by_link_text('Details')

Pour cliquer dessus, il suffit d'appeler la méthode clic:

link.click()
43
falsetru

Ensuite, vous pouvez essayer quelque chose comme ça.


 pour (int i = 0; i & lttd.length (); i ++) {
 driver.find_element_by_xpath ("(// a [contient (text (), 'Détails')]) [i]"). cliquez sur () 
 } 

1
Paras

Tout le monde manque une chose. C'est une liste par la déclaration ci-dessous. Vous devez choisir un élément de cette liste.

driver.find_element_by_link_text ('Détails')

Si vous vérifiez 

for i in driver.find_element_by_link_text('Details')
    i.click()

BINGO :-)

0
Mr. Bordoloi

Vous pouvez essayer de cliquer sur le lien en utilisant xpath locator

link=driver.find_element_by_xpath(.//*[@id="content"]/div[3]/div/div/div[2]/h4)

link.click()
0
Gayatri