Heim >Backend-Entwicklung >Python-Tutorial >Warum erhalte ich eine „selenium.common.Exceptions.NoSuchElementException', wenn ich Selenium mit Chrome verwende?
Seleniums „NoSuchElementException“ tritt auf, wenn ein Element im HTML-DOM nicht gefunden werden kann. In diesem Fall tritt dieser Fehler auf, wenn Sie Chrome verwenden, um QWOP mit Selenium abzuspielen.
Der von Ihnen angegebene Selenium-Code verwendet „find_element_by_id“, um das „window1“-Element zu finden. Allerdings identifiziert dieser Locator das Element innerhalb des DOM möglicherweise nicht eindeutig, was zur „NoSuchElementException“ führt.
Um dieses Problem zu beheben, können Sie eine spezifischere Locator-Strategie verwenden, z :
Stellen Sie außerdem sicher, dass das Element sichtbar ist und sich im Ansichtsfenster befindet bevor Sie versuchen, es zu finden. Verwenden Sie bei Bedarf WebDriverWait mit erwarteten Bedingungen wie element_to_be_clickable, um zu warten, bis das Element anklickbar ist, bevor Sie mit ihm interagieren.
In diesem speziellen Fall müssen Sie auf das warten Die Leinwand „window1“ muss anklickbar sein, bevor darauf geklickt wird:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//canvas[@id='window1']"))).click()
Das obige ist der detaillierte Inhalt vonWarum erhalte ich eine „selenium.common.Exceptions.NoSuchElementException', wenn ich Selenium mit Chrome verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!