Utilisation de Selenium et du pilote Chrome Je fais:
links = browser.find_elements_by_partial_link_text('##')
correspond à environ 160 liens.
Si j'essaye,
for link in links:
print link.text
avec elle j'obtiens le texte de tous les liens:
##1
##2
...
##160
Les liens sont comme ceci:
<a href="1.html">##1</a>
<a href="2.html">##2</a>
...
<a href="160.html">##160</a>
Comment puis-je obtenir l'attribut href
de tous les liens trouvés?
Il vous suffit d'appeler get_attribute sur chacun des liens que vous avez trouvés. Donc, ce qui suit devrait fonctionner:
links = browser.find_elements_by_partial_link_text('##')
for link in links:
print link.get_attribute("href")
Cela devrait maintenant produire ce dont vous avez besoin.
ne réponse existante à une question similaire semble s'appliquer:
Assumer
votre HTML se compose uniquement de cette seule balise, alors cela devrait le faire:
String href = Selenium.getAttribute("css=a@href");
Vous utilisez la méthode
DefaultSelenium#getAttribute()
et passez un localisateur CSS, un symbole@
Et le nom de l'attribut que vous souhaitez récupérer. Dans ce cas, vous sélectionnez lea
et obtenez son@href
.
Donc, si le lien contient du texte "..blablabla ...", vous pouvez le trouver de cette façon:
Selenium.getAttribute("css=a:contains('..blablabla...')@href");