精易论坛

标题: 文件上传问题 [打印本页]

作者: zhangzhang116    时间: 2024-8-14 19:52
标题: 文件上传问题
老哥们,请问我要上传本地文件。网页填表的时候,点击某个“上传”按键,会出弹窗,让选择文件,但是填表组件无法操作选择框,这种应该怎么解决?

作者: 森音文化    时间: 2024-8-14 19:52
森音文化 发表于 2024-8-14 20:24

.版本 2
.支持库 spec

.子程序 _按钮_上传文件_被单击
.局部变量 是否连接成功, 逻辑型
.局部变量 线程句柄, 整数型
.局部变量 标签页, 队长标签页类

是否连接成功 = 集_浏览器.连接浏览器 (标签页)
.如果真 (是否连接成功 = 假)
    调试输出 (“连接浏览器失败”)
    返回 ()
.如果真结束
上传文件 (标签页)


.子程序 上传文件
.参数 参_标签页, 队长标签页类
.局部变量 局_是否存在, 逻辑型
.局部变量 局_是否就绪, 逻辑型
.局部变量 局_元素值, 文本型
.局部变量 局_是否有效, 逻辑型
.局部变量 局_元素是否存在, 逻辑型
.局部变量 局_文件数组, 文本型, , "0"

局_是否有效 = 参_标签页.标签页_是否有效 ()  ' 判断标签页是否有效,或者端口是否有效
.如果真 (局_是否有效 = 假)
    调试输出 (“标签页失效!请检查”)
    返回 ()
.如果真结束
局_是否就绪 = 参_标签页.页面_是否已加载完毕 (10000)
' ====关闭公告
.如果 (局_是否就绪)
    .计次循环首 (3, )
        局_元素是否存在 = 参_标签页.元素_是否存在 (“a.layui-layer-ico.layui-layer-close.layui-layer-close1”, 0, )
        调试输出 (“公告是否存在”, 局_元素是否存在)
        .如果真 (局_元素是否存在)
            参_标签页.元素_点击 (“a.layui-layer-ico.layui-layer-close.layui-layer-close1”, 0, )
            跳出循环 ()
        .如果真结束
        队长_延时EX (1000)
    .计次循环尾 ()

    ' ====演示上传单张图片
    重定义数组 (局_文件数组, 假, 0)
    加入成员 (局_文件数组, 取运行目录 () + “\图片\A.jpg”)
    参_标签页.元素_添加本地文件 (局_文件数组, “input[type='file']”, 0)
    ' 选择器最后必须落到input[type='file'],文件框元素必须包括属性节点type="file",其他的都不是文件框元素
    队长_延时EX (1000)
    .计次循环首 (10, )
        .如果真 (参_标签页.元素_取innerText (“span.layui-progress-text”, 0, ) = “100%”)
            调试输出 (“单文件上传完毕!”)
            跳出循环 ()
        .如果真结束
        队长_延时EX (100)
    .计次循环尾 ()
    队长_延时EX (1000)
    ' ====演示上传多张图片

    重定义数组 (局_文件数组, 假, 0)
    加入成员 (局_文件数组, 取运行目录 () + “\图片\A.jpg”)
    加入成员 (局_文件数组, 取运行目录 () + “\图片\B.jpg”)
    加入成员 (局_文件数组, 取运行目录 () + “\图片\C.jpg”)
    参_标签页.元素_添加本地文件 (局_文件数组, “input[type='file']”, 1)
    ' 选择器最后必须落到input[type='file'],文件框元素必须包括属性节点type="file",其他的都不是文件框元素
    队长_延时EX (1000)
    参_标签页.元素_点击 (“button#testListAction”, 0, )
    队长_延时EX (1000)
    .计次循环首 (10, )
        .如果真 (参_标签页.元素_取匹配数 (“div[class='layui-progress'] > div.layui-progress-bar”, ) = 3)
            调试输出 (“多文件上传完毕!”)
            跳出循环 ()
        .如果真结束
        队长_延时EX (100)
    .计次循环尾 ()

.否则

    调试输出 (“页面加载完成失败”)

作者: LEOONL    时间: 2024-8-14 19:54
获取到弹窗句柄 遍历组件句柄 可以操作外部编辑框 外部按钮
作者: zhangzhang116    时间: 2024-8-14 20:05
LEOONL 发表于 2024-8-14 19:54
获取到弹窗句柄 遍历组件句柄 可以操作外部编辑框 外部按钮

这个要用哪个模块的 我用的是队长  好像没有取弹窗句柄的例子
作者: zhangzhang116    时间: 2024-8-14 20:10
LEOONL 发表于 2024-8-14 19:54
获取到弹窗句柄 遍历组件句柄 可以操作外部编辑框 外部按钮

哦哦 用易语言自带的 取顶端窗口句柄就行吧
作者: 森音文化    时间: 2024-8-14 20:13
队长可以操作的

补充内容 (2024-8-14 20:16):
文件框拦截直接传进去
作者: zhangzhang116    时间: 2024-8-14 20:16
森音文化 发表于 2024-8-14 20:13
队长可以操作的

补充内容 (2024-8-14 20:16):

好的 我试试
作者: 森音文化    时间: 2024-8-14 20:24
zhangzhang116 发表于 2024-8-14 20:16
好的 我试试

C:\Users\86136\Desktop\asdasd.png
作者: zhangzhang116    时间: 2024-8-14 20:51
森音文化 发表于 2024-8-14 20:25
.版本 2
.支持库 spec

成功 感谢老哥  专业!




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4