Heim > Backend-Entwicklung > Python-Tutorial > So überwinden Sie „ElementClickInterceptedException' in Splinter/Selenium beim Klicken auf Links

So überwinden Sie „ElementClickInterceptedException' in Splinter/Selenium beim Klicken auf Links

Mary-Kate Olsen
Freigeben: 2024-10-27 05:01:02
Original
878 Leute haben es durchsucht

How to Overcome

Element kann nicht angeklickt werden: ElementClickInterceptedException in Splinter/Selenium

Beim Scraping einer Webseite mit Splinter oder Selenium treten beim Versuch, auf bestimmte Elemente zu klicken, Schwierigkeiten auf Es können Links oder Schaltflächen auftreten. Dieses Problem tritt auf, wenn die Webseite geladen wird und eine „loadingWhiteBox“ angezeigt wird, die die anklickbaren Elemente verdeckt.

Obwohl die „loadingWhiteBox“ nach einigen Sekunden verschwindet, bleibt sie im HTML-Code vorhanden. Während das Feld sichtbar bleibt, verhindert es Versuche, auf Elemente zu klicken, was zu der folgenden Fehlermeldung führt:

selenium.common.Exceptions.ElementClickInterceptedException: Message: Element ist an Punkt (318.3000030517578,661.7999877929688) nicht anklickbar, da ein anderes Element

verdeckt es

Um dieses Problem zu beheben und effektiv auf das gewünschte Element zu klicken, sollten Sie die Implementierung einer der folgenden Methoden in Betracht ziehen:

<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]')
driver.execute_script("arguments[0].click();", element)</code>
Nach dem Login kopieren

Diese Methode verwendet die Funktion „execute_script“, um JavaScript-Code auszuführen, der auf das klickt Element für Sie, wobei das verdeckende Element umgangen wird.

<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]')
webdriver.ActionChains(driver).move_to_element(element).click(element).perform()</code>
Nach dem Login kopieren

Alternativ verwendet diese Methode die ActionChains-Klasse, um den Mauszeiger an die Position des Elements zu bewegen und einen Klick auszuführen, wodurch das behindernde Element effektiv umgangen wird.

Das obige ist der detaillierte Inhalt vonSo überwinden Sie „ElementClickInterceptedException' in Splinter/Selenium beim Klicken auf Links. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage