ElementClickInterceptedException 异常通常发生在尝试点击页面上的一个元素时,但该元素被另一个元素遮挡,导致点击事件被拦截。错误信息指出,尝试点击的 <div> 元素被另一个具有 role="dialog" 的 <div> 元素遮挡。
以下是一些解决这个问题的方法:
-
使用 JavaScript 点击: 如果元素被遮挡,您可以尝试使用 JavaScript 来绕过点击拦截的问题。
element = driver.find_element(By.XPATH, '/html/body/div[3]/div/div/div[3]/button[2]/span') driver.execute_script("arguments[0].click();", element) -
等待遮挡元素消失: 如果可能,等待遮挡元素消失后再执行点击操作。
WebDriverWait(driver, 10).until( EC.invisibility_of_element_located((By.CSS_SELECTOR, ".el-overlay-message-box")) ) # 然后尝试点击原元素 element.click() -
关闭或隐藏遮罩层: 如果页面上有遮罩层或弹出窗口,您可能需要先关闭它们。
# 尝试找到并关闭遮罩层或弹出窗口的元素 dialog = driver.find_element(By.CSS_SELECTOR, ".el-overlay-message-box") # 可能需要执行一些操作来关闭它,例如点击一个关闭按钮或取消按钮 -
检查元素是否可点击: 在进行点击操作之前,检查元素是否

最低0.47元/天 解锁文章
925





