accéder aux éléments web de sélénium avec python
Je suis sûr que cela a été répondu à quelque part, parce que c'est une question très simple - je ne peux pas, cependant, pour la vie de moi, de trouver la réponse sur le web. Je me sens comme un idiot, mais je vous demande donc, va ici:
Je suis en train d'écrire un code python qui permettra de produire une liste de toutes les adresses de page sur un domaine. Ceci est fait en utilisant le sélénium 2 - mon problème survient lorsque je tente d'accéder à la liste de tous les liens produite par le sélénium.
Voici ce que j'ai à ce jour:
from selenium import webdriver
import time
HovedDomene = 'http://www.example.com'
Listlinker = []
Domenesider = []
Domenesider.append(HovedDomene)
driver = webdriver.Firefox()
for side in Domenesider:
driver.get(side)
time.sleep(10)
Listlinker = driver.find_elements_by_xpath("//a")
for link in Listlinker:
if link in Domenesider:
pass
elif str(HovedDomene) in str(link):
Domenesider.append(side)
print(Domenesider)
driver.close()
la Listlinker
variable ne contient pas les liens qui se trouvent sur la page plutôt que la liste contient, (je suppose ici) sélénium objets spécifiques appelés WebElements. Je ne peux pas, toutefois, de trouver tout WebElement attributs qui va me donner des liens - comme une question de fait, je ne peux pas trouver des exemples de WebElement attributs accessibles en python (au moins pas d'une manière que je peux reproduire)
Je voudrais vraiment apprécier l'aide de vous tous pouviez me donner
Sincèrement
Rookie
source d'informationauteur Rookie
Vous devez vous connecter pour publier un commentaire.
Je suis familier avec l'api python de sélénium
mais vous pouvez probablement recevoir un lien à l'aide de
get_attribute(attributename)
méthode. Donc, il devrait être quelque chose comme:Parfois, le sélénium se comporte de façon incertaine. Et parfois, le sélénium jette les erreurs qui ne sont pas intéressés pour nous.
Désolé pour le C# mais je suis débutant en Python. Le Code est simplifié bien sûr.