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

无需使用Selenium:Chrome文件选择框指定路径选文件的方法

替代Selenium操作Chrome文件选择窗口的工具库

当Selenium触发系统级文件选择窗口后,可通过以下几种工具库实现无Selenium的窗口操控:

1. PyAutoGUI(跨平台)

这是一款跨平台的键鼠模拟库,通过模拟人工操作来控制文件选择窗口,支持Windows、macOS、Linux。

  • 操作逻辑:等待窗口弹出后,用快捷键定位地址栏,输入目标文件夹路径并进入;再输入文件名完成选择。
  • 示例代码:
    import pyautogui
    import time
    
    # 等待文件选择窗口加载(根据实际场景调整等待时长)
    time.sleep(2)
    # 按Alt+D快速定位地址栏
    pyautogui.hotkey('alt', 'd')
    # 输入目标文件夹路径
    pyautogui.typewrite(r'C:\Your\Target\Folder')
    pyautogui.press('enter')
    # 输入要上传的文件名
    pyautogui.typewrite('target_image.jpg')
    pyautogui.press('enter')
    
  • 注意事项:需确保窗口处于前台;避免用坐标点击(易受分辨率影响),优先用快捷键操作。

2. Pywinauto(Windows专属)

针对Windows系统开发的GUI自动化库,可精准识别系统窗口的控件(如地址栏、输入框、按钮),稳定性比键鼠模拟更高。

  • 操作逻辑:通过窗口标题(西班牙语环境为"Abrir")定位文件选择窗口,直接操控对应控件完成路径输入和文件选择。
  • 示例代码:
    from pywinauto import Application
    import time
    
    time.sleep(2)
    # 连接到标题为"Abrir"的文件选择窗口
    app = Application().connect(title="Abrir")
    dlg = app.window(title="Abrir")
    # 向地址栏输入目标文件夹路径
    dlg.Edit.set_text(r'C:\Your\Target\Folder')
    dlg.type_keys('{ENTER}')
    # 输入文件名并点击"打开"按钮
    dlg.FileNameEdit.set_text('target_image.jpg')
    dlg.Open.click()
    

3. PyAutoIt(Windows专属)

基于AutoIt工具的Python封装库,专门针对Windows系统对话框做了优化,操作简洁高效。

  • 操作逻辑:激活文件选择窗口后,直接设置完整文件路径,再触发"打开"按钮。
  • 示例代码:
    import autoit
    import time
    
    time.sleep(2)
    # 激活标题为"Abrir"的窗口
    autoit.win_activate("Abrir")
    # 设置完整文件路径(文件夹+文件名)
    autoit.control_set_text("Abrir", "Edit1", r'C:\Your\Target\Folder\target_image.jpg')
    # 点击"打开"按钮
    autoit.control_click("Abrir", "Button1")
    

额外建议

其实更高效的方案是绕过系统文件选择窗口:直接通过Selenium定位网页中的<input type="file">元素,调用send_keys()传入文件路径,全程不会弹出系统窗口,稳定性和效率远高于操控窗口。示例代码:

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://imgbb.com/")
# 等待并定位文件上传的input元素
file_input = driver.find_element(By.CSS_SELECTOR, 'input[type="file"]')
# 直接传入文件路径完成上传
file_input.send_keys(r'C:\Your\Target\Folder\target_image.jpg')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:31:11