Tidak Dapat Mengklik Elemen: ElementClickInterceptedException dalam Splinter / Selenium
Apabila mengikis halaman web menggunakan Splinter atau Selenium, menghadapi kesukaran semasa cuba mengklik tertentu pautan atau butang boleh berlaku. Isu ini timbul apabila halaman web dimuatkan, memaparkan "loadingWhiteBox" yang mengaburkan elemen boleh klik.
Walaupun "loadingWhiteBox" semakin pudar selepas beberapa saat, ia kekal hadir dalam kod HTML. Walaupun kotak itu kekal kelihatan, ia menghalang percubaan untuk mengklik pada elemen, mengakibatkan mesej ralat berikut:
selenium.common.exceptions.ElementClickInterceptedException: Message: Element tidak boleh diklik pada titik (318.3000030517578,661.7999877929688) kerana elemen lain Untuk menyelesaikan isu ini dan klik pada elemen yang dikehendaki dengan berkesan, pertimbangkan untuk melaksanakan salah satu kaedah di bawah: Kaedah ini menggunakan fungsi execute_script untuk melaksanakan kod JavaScript yang mengklik elemen untuk anda, memintas elemen mengaburkan. Sebagai alternatif, kaedah ini menggunakan kelas ActionChains untuk mengalihkan kursor tetikus ke lokasi elemen dan melakukan klik, dengan berkesan memintas elemen menghalang. Atas ialah kandungan terperinci Cara Mengatasi \'ElementClickInterceptedException\' dalam Splinter/Selenium apabila Mengklik pada Pautan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]')
driver.execute_script("arguments[0].click();", element)</code>
<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]')
webdriver.ActionChains(driver).move_to_element(element).click(element).perform()</code>