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

Selenium中send_keys方法无法工作的问题求助

解决Selenium中send_keys("black_pink")报错的方案

以下是几种常见的排查和解决方向:

  • 确认元素定位准确性
    检查你用来定位输入框的选择器(Xpath/CSS/ID等)是否正确指向了可输入的表单元素。可以用浏览器开发者工具(F12)的元素定位功能验证,确保选中的元素是<input>或<textarea>标签,且具备type="text"这类可输入属性。

  • 等待元素完全可交互
    页面加载延迟可能导致元素还未就绪就执行send_keys,可以显式等待元素可点击/可输入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    # 替换成你的元素定位方式,比如By.ID, "input_id"
    target_input = WebDriverWait(driver, 15).until(
        EC.element_to_be_clickable((By.XPATH, "//input[@name='search']"))
    )
    target_input.send_keys("black_pink")
    
  • 检查浏览器与驱动版本兼容性
    即使修改了驱动初始化代码,若ChromeDriver和本地Chrome浏览器版本不匹配,也会引发交互问题。打开Chrome的「设置-关于Chrome」查看版本,下载对应版本的ChromeDriver(注意大版本需一致,小版本可兼容)。

  • 排查iframe嵌套场景
    如果输入框位于页面的iframe中,必须先切换到对应iframe才能定位元素:

    # 通过ID、名称或元素定位iframe
    driver.switch_to.frame("iframe_container")
    # 执行send_keys操作
    input_element = driver.find_element(By.ID, "target_input")
    input_element.send_keys("black_pink")
    # 操作完成后切回主文档
    driver.switch_to.default_content()
    
  • 尝试清除输入框后再输入
    部分输入框可能存在默认值或缓存,先清除再输入:

    input_element.clear()
    input_element.send_keys("black_pink")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 05:33:15