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

使用Selenium在Outlook上传附件:无法选择文件的问题求助

在Outlook中用Selenium上传附件的正确方法

Selenium没法直接操控系统级的文件选择窗口,你之前点击附件按钮弹出窗口的思路走不通,正确做法是直接定位页面里隐藏的<input type="file">元素,跳过弹窗步骤。

核心操作要点:

  • 不要点击Outlook界面上的「附件」按钮,直接定位页面中type="file"的输入元素
  • 给这个元素发送文件的绝对路径,无需模拟回车或操作剪贴板
  • 确保等待元素加载完成,路径格式正确

修正后的代码示例:

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

# 统一文件路径,确保是绝对路径
file_full_path = os.path.abspath(os.path.join(self.attachment_dir, random_file))

# 等待文件输入元素加载(若XPATH失效,需用浏览器开发者工具重新定位)
file_upload_input = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.XPATH, "//input[@type='file']"))
)

# 直接传入文件路径完成上传
file_upload_input.send_keys(file_full_path)

注意事项:

  • Outlook网页版元素结构可能变动,若XPATH失效,可通过浏览器开发者工具重新定位input[type="file"],比如结合父容器属性缩小范围
  • 必须使用绝对路径,相对路径会导致上传失败
  • 绝对不要触发系统文件选择窗口,Selenium无法控制这类原生窗口,直接操作页面元素是唯一可靠方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 23:15:10