ElementClickInterceptedException in Splinter / Selenium
Beim Versuch, auf ein Webelement zu klicken, tritt nicht selten der Fehler auf:
ElementClickInterceptedException: Element is not clickable at point because another element obscures it
Dieser Fehler tritt auf, wenn ein anderes HTML-Element, z. B. eine Ladebox oder ein Overlay, vor dem Ziellink oder der Zielschaltfläche erscheint und dessen Interaktion verhindert.
Mögliche Lösungen
Um dieses Hindernis zu überwinden, ziehen Sie die folgenden Strategien in Betracht:
Methode 1: Verwendung von JavaScript Executor
element = driver.find_element_by_css('div[class*="loadingWhiteBox"]') driver.execute_script("arguments[0].click();", element)
Methode 2: Aktion Ketten
element = driver.find_element_by_css('div[class*="loadingWhiteBox"]') webdriver.ActionChains(driver).move_to_element(element ).click(element ).perform()
Erklärung
Bei diesen Methoden geht es darum, das für das Problem verantwortliche Element (in diesem Fall die Ladebox) zu finden und dann entweder ein Skript dafür zu erstellen Klicken Sie auf Interaktion mit JavaScript oder verwenden Sie Aktionsketten, um Mausaktionen zu simulieren und das verdeckende Element zu überwinden.
Das obige ist der detaillierte Inhalt vonWie löse ich ElementClickInterceptedException in Splinter/Selenium?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!