Check ob Button verfügbar ist.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
nino_
User
Beiträge: 17
Registriert: Sonntag 1. August 2021, 17:38

Morgen,

Zu meinem bestehenden Code:

while "btn-success" in next_page_btn:
try:
time.sleep(random.uniform(1.5, 3))
driver.find_element_by_class_name("vehicle_checkbox").click()
time.sleep(random.uniform(1.5, 3))
except:
#print("No more vehicles are available, waiting 4 hours")
print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'), ": No more vehicles are available, waiting 4 hours")
time.sleep(14400)
driver.find_element_by_id("mission_next_mission_btn").click()
time.sleep(random.uniform(1.5, 3))
driver.find_element_by_class_name("vehicle_checkbox").click()
time.sleep(random.uniform(1.5, 3))
driver.find_element_by_id("alert_next_btn").click()
time.sleep(random.uniform(1.5, 3))
#driver.find_element_by_id("mission_next_mission_btn").click()
time.sleep(random.uniform(1.5, 3))
next_page_btn = driver.find_element_by_id("mission_next_mission_btn").get_attribute("class")

möchte ich in der 3. Zeile einfügen das es erst Prüfen soll ob ein Button auf der Seite verfügbar ist oder nicht.
Wenn kein button gefunden wird soll er das o. g. Programm normal durchlaufen.
Wenn einer gefunden wird soll das Programm driver.find_element_by_id("mission_next_mission_btn").click() ausführen.

Kann mir jemand von euch helfen? Stehe gerade am schlauch...
Danke!
PukW
User
Beiträge: 1
Registriert: Freitag 10. September 2021, 23:35
Wohnort: Erligheim

Welche Struktur hat die Schaltfläche, für die Sie versuchen, zu klicken?
~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~
cybrixx252
User
Beiträge: 30
Registriert: Freitag 27. August 2021, 14:06

schau mal vl geht es ja damit bei dir

variable = driver.find_element_by_id("Buttenid")
variable2 = variable.is_displayed
dann mit if

if variable2 is True:
Benutzeravatar
__blackjack__
User
Beiträge: 13077
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@cybrixx252: Man muss nicht jedes Zwischenergebnis an einen Namen binden, und vergleiche mit Wahrheitswerten macht man nicht. Da kommt nur wieder ein Wahrheitswert bei heraus. Entweder der, den man sowieso schon hatte, dann hätte man auch einfach den nehmen können, oder dessen Gegenteil. Dafür gibt es ``not``.

Code: Alles auswählen

    if driver.find_element_by_id("Button_id").is_displayed():
        ...
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten