当前位置: 首页 > article >正文

Selenium文件上传

在 Web 自动化测试中,文件上传是一项常见的任务。不同的网站和前端技术可能导致上传方式有所不同,因此需要采用不同的方法进行处理。


方法 1:使用 send_keys() 直接上传(最常用)

适用场景

  • 页面中 有标准的 <input type="file"> 标签

  • 不需要弹出 Windows 文件选择对话框,直接选中文件即可上传。

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

# 启动 WebDriver
driver = webdriver.Chrome()
driver.get("http://127.0.0.1:9580/index.html")  # 替换为你的论坛系统地址

# 定位文件上传按钮(input[type='file'])
file_input = driver.find_element(By.NAME, "file")  # 这里的 name 需要替换为实际 HTML 代码中的 name 值
file_input.send_keys("C:\\Users\\你的用户名\\Desktop\\test.jpg")  # 直接输入文件路径

# 提交文件(如果有独立的提交按钮)
driver.find_element(By.ID, "upload_button").click()

# 关闭浏览器
driver.quit()

优点

  • 简单易用,Selenium 原生支持
  • 适用于大多数 Web 应用,不需要额外工具
  • 跨平台(Windows / macOS / Linux)

缺点

  • 仅适用于有 <input type="file"> 元素的网页
  • 无法处理需要手动点击文件上传窗口的情况<

http://www.kler.cn/a/617031.html

相关文章:

  • Error in torch with streamlit
  • IntelliJ IDEA创建Maven工程
  • C#里使用C#语言作为脚本运行的方法
  • 自动关机监控器软件 - 您的电脑节能助手
  • vmware 创建win10 系统,虚拟机NAT网络设置
  • 鸿蒙HarmonyOS NEXT界面如何一次开发多端部署
  • 【力扣hot100题】(012)最大子数组和
  • 力扣刷题1049. 最后一块石头的重量 II
  • No spring.config.import property has been defined
  • 改bug制造bug...
  • 我的编程之旅:从零到无限可能
  • git did not exit cleanly (exit code 128)处理方法
  • el-radio-group 中 el-radio-button value未能绑定上数值数据
  • 02 相机标定相关坐标系
  • 页码设置相关问题记录
  • 还款测试案例需要考虑的维度
  • [操作系统,学习记录] 2.进程(1)
  • AnimateCC基础教学:随机抽取获奖名单及奖品-V1.0原型版
  • 利用Claude desktop配置MCP server(第一课)
  • 【软考备考】系统架构案例分析示例(一)