Selenium: element是不可点击的,因为其他元素遮蔽了它



我一直在网站周围搜索,但似乎找不到适合我的修复方法。我正在尝试点击一个应该加载更多评论的按钮。

driver.get("https://www.mediamarkt.nl/nl/product/_philips-essential-airfryer-xl-hd9260-90-1653991.html")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".bv-content-btn-pages-load-more"))).click()

是我正在使用的代码。这会导致一个错误:

selenium.common.exceptions.ElementClickInterceptedException: Message: Element <button class="bv-content-btn bv-content-btn-pages bv-content-btn-pages-load-more bv-focusable" type="button"> is not clickable at point (674,670) because another element <div class="gdpr-cookie-layer gdpr-cookie-layer--show"> obscures it

我试过获取元素,然后点击它:

element = driver.find_element_by_class_name('bv-content-btn-pages-load-more')
driver.execute_script("arguments[0].click();", element)

我也尝试过使用动作链:

element = driver.find_element_by_class_name('bv-content-btn-pages-load-more')
ActionChains(driver).move_to_element(element).click().perform()

这里的实际问题是什么,我如何解决它?

WebDriverWait(driver, 20).until(EC.element_to_be_clickable(
(By.CSS_SELECTOR, '[class="gdpr-cookie-layer__btn gdpr-cookie-layer__btn--submit gdpr-cookie-layer__btn--submit--all"]'))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable(
(By.CSS_SELECTOR, ".bv-content-btn-pages-load-more"))).click()

你必须首先关闭accept cookie对话框,否则selenium无法点击load more元素,因为accept_cookie屏幕在forground

最新更新