Seite 1 von 1

Check ob Button verfügbar ist.

Verfasst: Freitag 10. September 2021, 09:09
von nino_
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!

Re: Check ob Button verfügbar ist.

Verfasst: Samstag 11. September 2021, 00:14
von PukW
Welche Struktur hat die Schaltfläche, für die Sie versuchen, zu klicken?

Re: Check ob Button verfügbar ist.

Verfasst: Samstag 11. September 2021, 00:53
von cybrixx252
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:

Re: Check ob Button verfügbar ist.

Verfasst: Samstag 11. September 2021, 01:05
von __blackjack__
@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():
        ...