Selen:, Durchlaufen Gruppen von Elementen
Habe ich das mit BeautifulSoup aber es ist ein bisschen umständlich, und ich versuche herauszufinden, wenn ich kann, tun Sie es direkt mit Selen.
Sagen wir, ich habe den folgenden HTML-Code, der wiederholt mehrere Male im Quelltext der Seite mit der identischen Elemente, aber unterschiedliche Inhalte:
<div class="person">
<div class="title">
<a href="http://www.url.com/johnsmith/">John Smith</a>
</div>
<div class="company">
<a href="http://www.url.com/company/">SalesForce</a>
</div>
</div>
Ich brauchen, um zu bauen ein Wörterbuch, in dem der Eintrag für jede person, die aussieht wie:
dict = {'name' : 'John Smith', 'company' : 'SalesForce'}
Kann ich Selen zu produzieren, die eine Liste der Inhalte der einzelnen top-level-element zu tun:
driver.find_elements_by_class_name('person')
Aber dann kann ich nicht die Liste Durchlaufen wird, weil die oben genannten Methode nicht einschränken/Quelle, um nur den Inhalt des Elements.
Wenn ich versuche, so etwas zu tun:
people = driver.find_elements_by_class_name('person')
for person in people:
print person.find_element_by_xpath['//div[@class="title"]//a').text
Bekomme ich nur die gleichen Namen immer und immer wieder.
Ich tun müssen, um diese Gruppe von der Gruppe, weil in meinem Fall Durchlaufen die ganze Seite und anfügen jeden tag einzeln nicht funktionieren (es gibt unendliche scrollen, also wäre es wirklich ineffizient).
Weiß jemand, ob es möglich ist, dies direkt an Selen, und wenn ja, wie?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
find_elements_by_class_name()
, um alle Blöcke undfind_element_by_xpath()
zu bekommentitle
undcompany
für jede person:driver
stattperson
in-the-loop). Überprüfen Sie bitte noch einmal. Danke.find_element_by_xpath()
, bitte versuchen Sie es erneut.