You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium操作Bigkinds日期输入框报ElementNotInteractableException如何解决

问题根因排查
  • 元素未完成加载:直接在页面打开后就定位日期输入框,此时DOM虽然能找到元素,但元素尚未完成渲染激活,处于不可交互状态
  • 输入框带只读限制:大部分网站封装的日期选择器绑定的input标签默认带readonly属性,禁止直接手动输入,所以直接调用clear()、send_keys()都会触发不可交互异常
  • 元素处于隐藏状态:日期输入框默认可能被折叠在筛选面板中,未展开的状态下元素处于不可交互的隐藏状态
  • 搜索按钮定位逻辑错误:find_element_by_class_name不支持传入多个空格分隔的类名,这部分后续运行也会报错
修复方案

可以直接通过JS脚本修改输入框的值,绕过只读限制和交互校验,是处理日期选择器最稳妥的方案,修改后代码如下:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import datetime

path = "C:/Users/ASUS/AppData/Local/Programs/Python/Python39/chromedriver.exe"
driver = webdriver.Chrome(executable_path=path)
driver.get("https://www.bigkinds.or.kr/v2/news/index.do")

# 先等待搜索输入框可交互
wait = WebDriverWait(driver, 10)
elem = wait.until(EC.element_to_be_clickable((By.ID, 'total-search-key')))
elem.send_keys('((코로나19) OR (코로나) OR (코로나 바이러스) OR (신종 코로나바이러스) OR (COVID-19) OR (코비드19))')

# 等待日期输入框加载完成,通过JS修改值绕过只读限制
date_input = wait.until(EC.presence_of_element_located((By.ID, 'search-begin-date')))
# 先移除readonly属性
driver.execute_script("arguments[0].removeAttribute('readonly')", date_input)
# 清空原有值
driver.execute_script("arguments[0].value = ''", date_input)
# 写入目标日期,自动补前导零避免格式错误
target_date = f"{2020}-{1:02d}-{1:02d}"
driver.execute_script(f"arguments[0].value = '{target_date}'", date_input)

# 触发输入框的change事件,让网站识别到日期变更
driver.execute_script("arguments[0].dispatchEvent(new Event('change'))", date_input)

# 修复搜索按钮定位逻辑,多类名用css选择器
driver.find_element(By.ID, '방송사').click()
search_btn = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.btn.btn-search.news-search-btn.news-report-search-btn')))
search_btn.click()
补充注意事项
  • 如果需要操作结束日期search-end-date,用同样的JS修改逻辑即可
  • 建议统一用Selenium官方推荐的By类定位元素,find_element_by_*系列方法在Selenium 4.0+版本已被废弃

内容的提问来源于stack exchange,提问作者김은주

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:15:00