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

Selenium(Python)无法填充文件路径字段问题咨询

问题分析与解决方案

核心原因

你定位的这个输入框是**只读(readonly="readonly")**的文本展示框,它并不是真正负责文件上传的控件——这类情况常见于ExtJS等UI框架,框架会把真实的<input type="file">控件隐藏,只显示美观的文本框用于展示文件名,所以直接对它send_keys肯定无效,和autocomplete="off"属性无关。

解决步骤

  1. 找到真实的文件上传控件
    页面里一定存在一个type="file"的input元素,它才是接收文件路径的核心控件。你可以通过以下方式定位:

    • 直接用xpath查找:driver.find_element("xpath", "//input[@type='file']")
    • 关联现有元素的id:当前展示框id是loadFileControl-1287-inputEl,真实控件的id可能是loadFileControl-1287(去掉后缀),可以尝试driver.find_element("id", "loadFileControl-1287")
  2. 对真实控件执行send_keys
    即使这个type="file"的元素是隐藏状态,Selenium也允许直接对它调用send_keys方法,无需额外设置可见性。示例代码:

    # 定位真实的文件上传控件
    file_input = driver.find_element("xpath", "//input[@type='file']")
    # 传入文件的完整路径
    file_input.send_keys("/full/path/to/your/file_name.xml")
    
  3. 验证定位是否正确
    如果不确定哪个是真实控件,可以打开浏览器开发者工具(F12),搜索type="file",或者在页面上传按钮附近查找隐藏的input元素。


内容的提问来源于stack exchange,提问作者Jarosław Twaróg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:22:40