📅  最后修改于: 2023-12-03 14:40:57.785000             🧑  作者: Mango
ElementNotVisibleException
是 Selenium 抛出的异常之一。它表示操作无法完成,因为试图对不可见的元素进行操作。
此异常可能的原因是:
display
属性为 none
。要解决 ElementNotVisibleException
的问题,请考虑以下解决方案:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# 等待直到元素可见
wait = WebDriverWait(driver, 10)
element = wait.until(EC.visibility_of_element_located((By.ID, 'myElement')))
from selenium.webdriver.common.action_chains import ActionChains
# 模拟鼠标滚轮
actions = ActionChains(driver)
actions.move_to_element(element).perform()
actions.move_by_offset(0, 100).perform()
actions.move_by_offset(0, -100).perform()
# 将页面向下滚动 100 像素
driver.execute_script("window.scrollBy(0, 100);")
display
属性为 none
,请尝试更改它以使其可见。# 更改元素的 display 属性
driver.execute_script("arguments[0].style.display = 'block';", element)
ElementNotVisibleException
意味着无法对元素执行操作,因为元素不可见。在处理此异常时,请考虑元素可能不可见的原因,并尝试使用上述解决方案之一解决问题。