Bei Selen muss man oft warten, bis ein Element erscheint, bevor man mit ihm interagiert. Die Verwendung von „sleep()“ zum Warten ist unzuverlässig, da die Erscheinungszeit des Elements variieren kann. Stattdessen sollten Sie WebDriverWait und erwartete Bedingungen nutzen.
Warten auf Elementpräsenz
Um die Präsenz eines Elements im DOM zu überprüfen, setzen Sie die erwarteten_Bedingungen auf present_of_element_located(). Dazu ist es nicht erforderlich, dass das Element sichtbar ist. Zum Beispiel:
WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".reply-button"))).click()
Warten auf Elementsichtbarkeit
Um ein Attribut aus einem Element zu extrahieren, verwenden Sie Visibility_of_element_located(). Dadurch wird sichergestellt, dass das Element sichtbar ist und Abmessungen ungleich Null aufweist.
email = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".anonemail"))).get_attribute("value")
Warten auf Element-Klickbarkeit
Um auf ein Element zu klicken, setzen Sie „expected_conditions“ auf element_to_be_clickable(). . Dadurch wird überprüft, ob das Element sichtbar und für die Interaktion aktiviert ist.
WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".reply-button"))).click()
Zusätzliche Referenzen
Weitere Einblicke finden Sie in den folgenden Ressourcen:
Das obige ist der detaillierte Inhalt vonWie kann man zuverlässig darauf warten, dass Elemente in Selen vorhanden, sichtbar und anklickbar sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!