You need to enable JavaScript to run this app. 如何使用Python实现网页内嵌小窗口向下滚动,解决ElementNotInteractableException报错
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python实现网页内嵌小窗口向下滚动,解决ElementNotInteractableException报错

问题原因

ElementNotInteractableException 报错的核心原因是你定位的div容器本身不支持直接接收键盘输入事件,所以调用send_keys()方法时触发异常。

解决方案

优先推荐使用JavaScript执行滚动,兼容性最强,不需要元素支持交互:

  1. 首先确认定位到的是实际的滚动容器(可在浏览器控制台检查该元素的overflow属性为auto或scroll)
  2. 执行滚动操作的代码示例:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 先加显式等待,确保元素加载完成
wait = WebDriverWait(browser, 10)
scroll_container = wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/div[4]/div/div/div[2]')))

# 滚动到容器底部
browser.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", scroll_container)

# 如果需要向下滚动指定像素(比如100px),替换为以下代码
# browser.execute_script("arguments[0].scrollTop += 100", scroll_container)

如果确实需要用键盘事件实现,先给元素赋予焦点再操作:

html = browser.find_element_by_xpath('/html/body/div[4]/div/div/div[2]')
# 先点击容器获取焦点
html.click()
html.send_keys(Keys.END)

该方案仅适用于可点击的滚动容器,兼容性弱于JS方案。

内容的提问来源于stack exchange,提问作者Omkar Nath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 02:45:04