Cara Mengatasi \'ElementClickInterceptedException\' dalam Splinter/Selenium apabila Mengklik pada Pautan

Mary-Kate Olsen
Lepaskan: 2024-10-27 05:01:02
asal
784 orang telah melayarinya

How to Overcome

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

mengaburkannya

Untuk menyelesaikan isu ini dan klik pada elemen yang dikehendaki dengan berkesan, pertimbangkan untuk melaksanakan salah satu kaedah di bawah:

<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]')
driver.execute_script("arguments[0].click();", element)</code>
Salin selepas log masuk

Kaedah ini menggunakan fungsi execute_script untuk melaksanakan kod JavaScript yang mengklik elemen untuk anda, memintas elemen mengaburkan.

<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]')
webdriver.ActionChains(driver).move_to_element(element).click(element).perform()</code>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!