Rumah >pembangunan bahagian belakang >Tutorial Python >Cara Mengatasi ElementClickInterceptedException dalam Splinter/Selenium: Panduan untuk Memintas Elemen Tindanan
Dalam mengikis web, adalah perkara biasa untuk menghadapi situasi di mana klik pada elemen dihalang. Isu ini boleh timbul disebabkan oleh elemen tindanan, seperti penunjuk pemuatan, yang mengaburkan elemen sasaran.
Apabila berhadapan dengan ElementClickInterceptedException, seperti yang dilihat dalam mesej ralat yang disediakan, ia menunjukkan bahawa elemen menghalang klik pada elemen yang dikehendaki. Untuk menangani isu ini, terdapat beberapa pendekatan:
Kaedah 1: Laksanakan Javascript Click
Laksanakan Javascript klik pada elemen sasaran untuk memintas elemen tindanan. Kaedah ini secara langsung berinteraksi dengan DOM penyemak imbas dan mengabaikan halangan visual:
<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]') driver.execute_script("arguments[0].click();", element)</code>
Kaedah 2: Rantaian Tindakan
Gunakan kelas ActionChains untuk melaksanakan satu siri tindakan , termasuk mengalihkan kursor ke elemen sasaran dan kemudian mengkliknya:
<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]') webdriver.ActionChains(driver).move_to_element(element ).click(element ).perform()</code>
Kedua-dua kaedah bertujuan untuk memintas elemen tindanan dan berinteraksi secara langsung dengan elemen sasaran, membenarkan klik yang berjaya dan pengikisan berterusan.
Atas ialah kandungan terperinci Cara Mengatasi ElementClickInterceptedException dalam Splinter/Selenium: Panduan untuk Memintas Elemen Tindanan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!