python在selenium网页模拟运行过程中需要打开文件夹上传文件的情况的解决方法

本文介绍了在Selenium测试中遇到网页需要上传文件时,如何利用Pywinauto库模拟键盘操作,包括选择文件夹、输入文件名和点击打开的过程,适用于自动化测试场景,只需调整文件路径和文件名参数。
摘要由CSDN通过智能技术生成

在selenium运行过程中,可能会遇到网页需要上传文件图片等情况,有时可以直接用selenium中send_keys直接上传,但是有时不行,这时我们需要用到另一个包,pywinauto
具体的代码如下,

import pywinauto
# pywinauto模拟操作键盘,需要使用到 pywinauto.keyboard.send_keys这个方法
# 需要注意的是Pywinauto库的send_keys方法与selenium库的send_keys方法不同,输入的键盘操作关键字存在较大差异
from pywinauto.keyboard import send_keys
folder = 'xxxxx' #文件夹地址
file = 'xxxxx' #文件名
# 使用pywinautoc创建一个操作桌面窗口的对象
win1 = pywinauto.Desktop()
# 选择文件上传的窗口 窗口句柄默认为‘打开’
bow1 = win1['打开']
# 选择文件地址输入框,点击激活
bow1["Toolbar3"].click()
# 键盘输入上传文件的路径
send_keys(folder)
# 键盘输入回车,打开该路径
send_keys("{VK_RETURN}")
# 选中文件名输入框,输入文件名
bow1["文件名(&N):Edit"].type_keys(file)
# 点击打开
bow1["打开(&O)"].click()

运行情况是模拟手动点击上传按钮,在文件夹中选择文件。期间不能手动触碰鼠标键盘。
因为是在selenium模拟网页运行的代码中的,所以上面需要连接
web.find_element(By.XPATH,‘xxxxxxxxxxx’).click()等使用,
就是说,先用selenium模拟点击上传按钮,然后再使用上面的代码模拟上传文件。
代码中只需要修改folder和file,其他的不要动。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'Steven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值