我将在网站上按自动化按钮,但与此同时,名为活动(kampanyalar)的东西正在阻止它。我该如何解决这个问题?我希望其他元素不要获得 click 属性
错误:
ElementClickInterceptedException: element click intercepted: Element <div class="styled__CampaignCardDescriptionTitle-sc-1n4y3hk-2 hulWUi" color="">...</div> is not clickable at point (531, 35). Other element would receive the click: <a class="styled__HeaderMenuItem-sc-126ws66-35 gEoUee" href="/kampanyalar" id="DPE_TR_HOME_BUTTON_HEADERITEM0">...</a>
ElementClickInterceptedException
可能由多种原因引起。
最强大的是用JavaScript点击而不是webdriver点击。像下面这样:
element = driver.find_element_by_xpath("xpath")
driver.execute_script("arguments[0].click();", element)
但是最好看看是什么导致了这个异常。
如果元素不在可见屏幕或某些页脚元素与其重叠,最好将该元素滚动到视图中:
from selenium.webdriver.common.action_chains import ActionChains
element = driver.find_element_by_xpath("xpath")
driver.execute_script("arguments[0].scrollIntoView();", element)
在其他一些情况下,会发生这种情况是因为您在页面仍在加载元素时尝试单击该元素,因此当前在该元素上找到了其他一些元素。在这种情况下,最好等待该元素变得可点击。像这样:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "xpath"))).click()
因此,最好根据您在那里面临的具体情况使用更多与用户相似的操作,并且只有在没有替代方法可以使用 JavaScript 点击的情况下
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句