找回密码
 加入
搜索
查看: 967|回复: 15

[网络通信] 已解决 模拟上传文件不成功

[复制链接]
发表于 2022-8-11 10:47:53 | 显示全部楼层 |阅读模式
本帖最后由 hwq666 于 2022-8-11 11:39 编辑

同样使用下方的脚本文件在别其他电脑可以运行上传成功,有的电脑之前可以然后又不行了,
目前看是没有报错就是到 Local $x = ControlFocus($title,"","[CLASS:Edit; TEXT:; INSTANCE:1]") 这一句的返回值变成0了 但是不知道为什么会这样 排查了这个控件ID是没有变化的啊

handleUpload()
Func handleUpload()
     Dim $title ="打开"        
            if WinWait($title,"",4) Then ;等待弹出出现,最大等待时间是4秒
                              
                        
                               WinWaitActive($title)
                   WinActivate($title)                  ;找到弹出窗口之后,激活当前窗口
                                   Local $x = ControlFocus($title,"","[CLASS:Edit; TEXT:; INSTANCE:1]")
                                   MsgBox(32,"ok",$x)
                   ControlSetText($title,"","Edit1","E:/video/2.mp4")   ;把文件路径放入输入框,此”Edit1“是用FinderTool获取到的
                   ControlClick($title,"","Button1")                ;点击保存或者打开或者上传按钮,此“Button1”使用FinderTool获取到的
            Else
            Return False
            EndIf
EndFunc
 楼主| 发表于 2022-8-11 10:49:57 | 显示全部楼层
打开浏览器后  打开百度  点击上传文件
 楼主| 发表于 2022-8-11 10:50:57 | 显示全部楼层
Local $x 有的电脑输出的0   有的又是1  可以正常上传文件 。很奇怪,一样的exe    而且 那个电脑 前两天是可以用的  突然又不行了
 楼主| 发表于 2022-8-11 10:54:54 | 显示全部楼层
左边是浏览器截图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2022-8-11 10:58:42 | 显示全部楼层
返回0 的时候,你要检查一下控件ID还是不是Edit1
发表于 2022-8-11 10:59:55 | 显示全部楼层
另外,我们的语言叫做au3,不是at3
发表于 2022-8-11 11:02:23 | 显示全部楼层
发帖发到已解决问题区,你是想让谁给你解决问题?
 楼主| 发表于 2022-8-11 11:11:41 | 显示全部楼层
haijie1223 发表于 2022-8-11 10:59
另外,我们的语言叫做au3,不是at3

不好意思 打错了 我删除重新发一下
 楼主| 发表于 2022-8-11 11:14:44 | 显示全部楼层
haijie1223 发表于 2022-8-11 10:58
返回0 的时候,你要检查一下控件ID还是不是Edit1

我看ID还是Edit1
发表于 2022-8-11 11:21:12 | 显示全部楼层
如果控件ID没有错误的,代码能简写尽量简写,看你写那一堆,是给自己挖坑么。
windows下文件路径是\,不是/吧。

Func handleUpload()
        Local $iTimer = TimerInit()
        Do
                If TimerDiff($iTimer) > 4 * 1000 Then Return False
        Until ControlSetText("打开", "", "Edit1", "E:\video\2.mp4") 
        Return ControlClick("打开", "", "Button1") 
EndFunc   ;==>handleUpload


 楼主| 发表于 2022-8-11 11:24:53 | 显示全部楼层
haijie1223 发表于 2022-8-11 11:21
如果控件ID没有错误的,代码能简写尽量简写,看你写那一堆,是给自己挖坑么。
windows下文件路径是\,不是/ ...

试了你的 脚本还是不行
 楼主| 发表于 2022-8-11 11:29:04 | 显示全部楼层
haijie1223 发表于 2022-8-11 11:21
如果控件ID没有错误的,代码能简写尽量简写,看你写那一堆,是给自己挖坑么。
windows下文件路径是\,不是/ ...

还是一样 之前不可以的电脑不行 之前可以的电脑可以
发表于 2022-8-11 11:32:44 | 显示全部楼层
win10 以上系统如果使用了函数  ControlClick 、MouseClick, 请在代码开头添加标记 #RequireAdmin ,并在执行点击前检测下目标窗口是否激活状态,不是激活先激活一下
 楼主| 发表于 2022-8-11 11:35:12 | 显示全部楼层
zghwelcome 发表于 2022-8-11 11:32
win10 以上系统如果使用了函数  ControlClick 、MouseClick, 请在代码开头添加标记 #RequireAdmin ,并在 ...

#RequireAdmin
handleUpload()
Func handleUpload()
        Local $iTimer = TimerInit()
        Do
                If TimerDiff($iTimer) > 4 * 1000 Then Return False
        Until ControlSetText("打开", "", "Edit1", "E:\video\2.mp4")
        Return ControlClick("打开", "", "Button1")
EndFunc
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-27 19:24 , Processed in 0.095022 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表