Moin,
wie kann ich in python/selenium einen Button finden, der jedes mal wenn ich die Seite neu lade, eins runterzählt bis er " 0" drinnen stehen hat.
Den Button finde ich mit:
driver.find_element_by_id("mission_next_mission_btn").click()
Ich will nun aber diesen Spezifischen Button finden wenn er " 0" im text stehen hat...
Auszug aus dem Quelltext der Seite:
►<a href="/missions/2094750610" class="btn btn-fadeout btn-sm btn-success navbar-btn" id="mission_previous_mission_btn" title="Vorheriger Einsatz">…</a>
▼<a href="#" class="btn btn-fadeout btn-sm btn-default navbar-btn" id="mission_next_mission_btn" title="Nächster Einsatz">
►<span class="glyphicon glyphicon-arrow-right">…</span>
" 0"
P.S.
Der Button hat eine grüne Farbe wenn seine zahl >0 ist.
Sobald sie 0 ist, ist der Button weiß/grau
Danke
Python Button mittels zwei Attribute finden
Aber wie genau kann ich die farbe eines webelements mit einer bestimmten Farbe zb. grün vergleichen?
buttonColor = driver.find_element_by_id("mission_next_mission_btn")
print(buttonColor.value_of_css_property('background-color'))
while buttonColor = rgba(92, 184, 92, 1):
??
Danke.
buttonColor = driver.find_element_by_id("mission_next_mission_btn")
print(buttonColor.value_of_css_property('background-color'))
while buttonColor = rgba(92, 184, 92, 1):
??
Danke.
-
- User
- Beiträge: 491
- Registriert: Mittwoch 13. November 2019, 08:38
Der Button hat seine Farbe aufgrund seiner Klasse. Das dort sieht mir nach Bootstrap aus. Du kannst also feststellen, dass der Button grün ist, wenn `class` btn-success enthält. Die Farbe selbst zu vergleichen halte ich da für eher ungeeignet, weil die sich ja mit unterschiedlichen Stylings ändern kann. Oder geht es dir darum wirklich unbedingt die Farbe abzugleichen?
Danke für deine Antwort @einfachTobi !
Einfach gesagt, möchte ich den Button vergleichen mit der Farbe grün (rgba(92, 184, 92, 1)).
Wenn das der fall ist, soll es einfach weiter machen
Wenn das nicht zutrifft und der Button zb. weiß ist (255,255,255) dann soll es "abbrechen"
Nur bring ich das in keine sinnvolle Reihenfolge in Python -.-
Man könnte auch den Text im Button vergleichen, ob dieser größer 0 ist.
... Wie im Quelltext oben genannt, nur fehlt mir da ich irgendwie der Bezug da dort kein Attribut o. ä. vorhanden ist -.-
Das mit der null zu vergleichen könnte leichter sein...
Einfach gesagt, möchte ich den Button vergleichen mit der Farbe grün (rgba(92, 184, 92, 1)).
Wenn das der fall ist, soll es einfach weiter machen
Wenn das nicht zutrifft und der Button zb. weiß ist (255,255,255) dann soll es "abbrechen"
Nur bring ich das in keine sinnvolle Reihenfolge in Python -.-
Man könnte auch den Text im Button vergleichen, ob dieser größer 0 ist.
... Wie im Quelltext oben genannt, nur fehlt mir da ich irgendwie der Bezug da dort kein Attribut o. ä. vorhanden ist -.-
Das mit der null zu vergleichen könnte leichter sein...
Ich denke du hast einfachTobi nicht verstanden. Der Button ist gruen, weil er eine bestimmte Klasse hat. btn-success, um genau zu sein. Du musst also einfach nur dein Auswahlkriterum um diese Klasse erweitern, und schon bekommst du nur dann einen Button zurueck, wenn er nicht nur vorhanden, sondern auch noch gruen ist. Oder du holst ihn dir wie bisher, aber schaust eben, ob btn-success in der Klasse ist.
Dass diese Klasse auch noch gruen ist... ja mei. Ist doch egal.
Dass diese Klasse auch noch gruen ist... ja mei. Ist doch egal.