selenium、pywinauto自动化云端https\http文件如何上传到系统中

这篇博客介绍了如何在云端环境下,通过selenium和pywinauto库进行文件上传操作。当传统的input标签上传方式不可用时,利用pywinauto模拟鼠标点击和键盘输入,实现在Windows系统上选择并上传http/https链接的文件。文章提供了一个具体的函数`shangchuan_win_file`来演示这一过程,并包含了解决打开按钮点击事件不响应的处理策略。

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

selenium、pywinauto自动化云端https\http文件如何上传到系统中

背景:

平常在工作中公司一般服务器都是云,那么在云端肯定会存储一些例如:PDF、JPG、Excel、Word等文件,那如何通过操作selenium把文件上传到想要的地方呢?一般情况下可能是通过Request请求把文件先下载下来存到固定目录然后再通过selenium读取绝对路径到input标签中去,那问题来了,如果有一些老的input标签无法不上呢?

下面就用pywinauto模拟鼠标点击输入时间来操作上传文件。下面代码kl中的传参 就是http/https请求方式的文件

print_control_identifiers() 可以打印元素定位值


# windows选择文件弹窗
def shangchuan_win_file(kl):
    # sleep(2)
    app = pywinauto.Desktop()
    da = app['文件上传']
    da.wait('enabled', timeout=30)
    # app['文件上传'].print_control_identifiers()
    da['Edit'].wait('enabled', timeout=30)
    da['Edit'].type_keys(kl)
    sleep(2)
    da["打开(&O)"].wait('enabled', timeout=30)  # .click_input()
    da["打开(&O)"].click_input()
    # 有的时候输入文件路径后点击“打开”click_input 事件不好使 所以加了一层判断,循环10次存在的时候点击,否则检查时候还有链接有则关闭
    # 判断窗户是否存在 True False
    for i in range(0, 10):
        if da.exists():
            da["打开(&O)"].wait('enabled', timeout=30)  # .click_input()
            da["打开(&O)"].click_input()
            sleep(2)
            pass
        else:
            break
    else:
        acc = Application().connect(title_re='文件上传')
        acc.window_(found_index=0).close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值