Python Selenium —— 文件上传、下载,其实很简单

本文介绍如何使用Python通过pywin32库识别对话框句柄并进行操作,同时介绍了SendKeys库及keybd_event模拟按键的方法,适用于需要自动化操作桌面应用的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

  1. autoIT,借助外力,我们去调用其生成的au3或exe文件。
  2. Python pywin32库,识别对话框句柄,进而操作
  3. SendKeys
  4. keybd_event,跟3类似,不过是模拟按键,ctrl+a,ctrl+c, ctrl+v...

包含四个:

https://www.jianshu.com/p/b03ef6ffc4a5

 

对于1.autoIT不会用的可以看:http://blog.youkuaiyun.com/fish9164/article/details/52807839

 

### 使用SeleniumPython上传文件并提交信息 为了实现自动化操作,如上传文件和提交表单数据,可以利用Selenium库来模拟浏览器行为。下面是一个具体的例子,展示如何通过Python脚本完成这些任务。 #### 设置环境 确保安装了必要的软件包: ```bash pip install selenium ``` #### 编写代码 创建一个简单的测试案例,用于登录到指定网站,并执行文件上传动作: ```python from selenium import webdriver import time # 初始化WebDriver实例 (这里以Chrome为例) driver = webdriver.Chrome() try: # 打开目标网页 driver.get('http://example.com/login') # 替换为目标网址 # 定位用户名输入框并填写内容 username_field = driver.find_element_by_name('id') username_field.send_keys('your_username') # 密码字段填充 password_field = driver.find_element_by_name('password') password_field.send_keys('your_password') # 提交表单 login_button = driver.find_element_by_css_selector('[type="submit"]') login_button.click() # 等待页面加载完毕 time.sleep(5) # 转向至含有文件上传功能的页面部分 driver.get('http://example.com/upload_page') # 文件上传页URL # 查找文件输入控件并通过sendKeys方法发送本地路径给它 file_input = driver.find_element_by_id('fileInputId') # 假设ID为'fileInputId' file_path = r'E:\SJTU\course=\filename=毕业证书.jpg' # 需要实际存在的文件路径 file_input.send_keys(file_path) # 如果有确认按钮,则点击之以触发上传过程 submit_btn = driver.find_element_by_class_name('upload-btn-classname') # 按钮类名需替换为真实值 submit_btn.click() finally: # 关闭浏览器窗口 time.sleep(10) # 给予足够时间观察结果后再关闭 driver.quit() ``` 这段程序首先访问了一个假设性的登录界面,在成功验证身份之后转向另一个包含文件上传选项卡的位置;接着定位到了相应的HTML元素(比如`<input type='file'>`),并向其传递绝对磁盘位置作为参数从而启动上传流程[^2]。 值得注意的是,上述示例中的某些细节可能需要依据具体应用场景做出调整——例如元素的选择器表达式应当匹配所交互站点的实际结构特点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值