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

Python Selenium运行时报element not interactable错误如何解决

问题根因

你定位到的name="q"元素在页面初始加载时为隐藏状态,未激活展示,不支持直接输入操作,因此抛出element not interactable报错。

解决方案
  • 第一步:先定位页面上的搜索触发按钮(放大镜图标元素),点击触发搜索输入框展开
  • 第二步:待搜索输入框可见后,再执行输入操作
修改后可用代码示例
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://www.annemcgilvray.com")

# 等待搜索触发按钮可点击,点击展开搜索框
search_toggle = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.CLASS_NAME, "search-toggle"))
)
search_toggle.click()

# 等待搜索输入框可见后再输入内容
search = WebDriverWait(driver, 10).until(
    EC.visibility_of_element_located((By.NAME, "q"))
)
search.send_keys("test")
补充说明

如果仍有报错,可通过浏览器F12开发者工具的元素面板搜索name="q",确认定位到的元素是实际可见的输入框,避免误定位到同名的隐藏元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:39:04