win文件下载框指令
评论
收藏

win文件下载框指令

经验分享
鲁小智校长
2026-03-27 10:06·浏览量:69
鲁小智校长
影刀高级开发者
发布于 2026-03-27 10:0669浏览

记录文件win如何实现下载,鲁爷分享

# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块

import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
import uiautomation as auto
import time
import win32gui


def download_win(file_path, Edit_name,wait_time=1):
    # 等待对话框出现时间
    time.sleep(wait_time)

    # 获取当前活动窗口的句柄
    hwnd = win32gui.GetForegroundWindow()
    
    # 获取窗口标题
    title = win32gui.GetWindowText(hwnd)
    print(f"当前窗口标题为:{title}")
    time.sleep(2)
    try:
        # 获取并激活当前激活窗口
        save_as = auto.WindowControl(Name=title)
        save_as.SetActive()

        time.sleep(2)
        #定位并操作编辑框
        editor = save_as.EditControl(SubName=Edit_name)
        editor.Click()  # 聚焦
        editor.SendKeys("{Ctrl}a{DEL}")  # 全选并删除
        # editor.SendKeys(file_path)  # 方法一、模拟人工输入文本
        
        time.sleep(1)
        auto.SetClipboardText(file_path) # 将文字复制到剪贴板
        editor.SendKeys("{Ctrl}v")   # 方法二、粘贴输入
        
        # 点击保存按钮,按位置定位
        save_button = save_as.ButtonControl(AutomationId="1")
        
        # 点击保存按钮,按按钮名称定位
        # save_button = save_as.ButtonControl(SubName="保存")
        save_button.Click()
        
        return file_path
    except Exception as e:
        print(f"操作失败: {str(e)}")
        raise e

收藏1
全部评论1
最新
发布评论
评论