Ich benutze Python & Selen, um den Inhalt einer bestimmten Webseite zu verschrotten. Derzeit habe ich das folgende Problem: Es gibt mehrere Div-Klassen mit dem gleichen Namen, aber jede Div-Klasse hat unterschiedliche Inhalte. Ich brauche nur die Informationen für eine bestimmte Div-Klasse. Im folgende Beispiel mag ich die Informationen, die in dem ersten „show_result“ braucht -Klasse, da gibt es das „Wichtig-Element“ im Link-Text:Selenium-Python: Klasse mit Link-Text
<div class="show_result">
<a href="?submitaction=showMoreid=77" title="Go-here">
<span class="new">Important-Element</span></a>
Other text, links, etc within the class...
</div>
<div class="show_result">
<a href="?submitaction=showMoreid=78" title="Go-here">
<span class="new">Not-Important-Element</span></a>
Other text, links, etc within the class...
</div>
<div class="show_result">
<a href="?submitaction=showMoreid=79" title="Go-here">
<span class="new">Not-Important-Element</span></a>
Other text, links, etc within the class...
</div>
Mit folgendem Code kann ich die " Wichtig-Element "und sein Link: driver.find_element_by_partial_link_text('Important-Element')
. Ich brauche aber auch die anderen Informationen innerhalb derselben Div-Klasse "Show-Ergebnis". Wie kann ich auf die gesamte div-Klasse verweisen, die das Important-Element im Linktext enthält? driver.find_elements_by_class_name('show_result')
funktioniert nicht, da ich nicht weiß, in welcher der div-Klassen das Important-Element liegt.
Danke, Finn
Bearbeiten/Update: Ups, ich habe die Lösung auf meinem eigenen mit XPath gefunden:
driver.find_element_by_xpath("//div[contains(@class, 'show_result') and contains(., 'Important-Element')]")
Sie können füge es als Antwort hinzu und akzeptiere es :) – lauda