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

Python Selenium驱动Opera访问Youtube搜索触发ElementNotInteractableException报错

报错原因

你遇到的ElementNotInteractableException报错,核心是定位到的DOM元素无法接收输入交互,具体诱因有三个:

  • XPath匹配错误:YouTube页面存在多个id为search的节点,你写的通用XPath优先匹配到了外层不可输入的<div>容器,而非实际可交互的输入框
  • 元素未完成加载:调用driver.get后立即执行定位操作,此时YouTube前端资源还没渲染完成,搜索框还处于不可交互状态
  • 元素未激活:YouTube搜索框需要先点击激活,才能正常接收输入内容
解决方案

首先导入Selenium显式等待相关依赖:

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

替换原有YouTube操作的代码即可:

driver.get('https://youtube.com/')
# 最长等待10秒,直到搜索输入框变为可点击状态
wait = WebDriverWait(driver, 10)
# 明确指定匹配input类型的搜索框,避免定位到外层容器
input_txt = wait.until(EC.element_to_be_clickable((By.XPATH, '//input[@id="search"]')))
# 先点击激活输入框再输入内容
input_txt.click()
input_txt.send_keys('operadriver')
# 点击搜索按钮比直接回车兼容性更高
driver.find_element(By.XPATH, '//button[@id="search-icon-legacy"]').click()

额外注意事项

  • 如果按上述修改还是报错,可以在driver.get('https://youtube.com/')后加time.sleep(3)做验证,确认是否是网络加载过慢导致的问题
  • 你当前使用的Opera浏览器和驱动版本都是93.x,版本配对是正常的,后续如果升级浏览器记得同步升级对应版本的operadriver

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:36:03