AutoIT是否特定于浏览器版本

时间:2013-09-12 16:42:53

标签: autoit

我正在尝试使用AutoIT上传文件,它工作正常,但是当我将Firefox版本升级到版本23.0时,AutoIT脚本无效。以下代码在Firefox版本21中运行良好。不知道为什么会这样。对此提出任何建议。

$windowHandle = WinGetHandle("File Upload")
WinActivate($windowHandle);
Send("C:\Test\Penguins.jpg")
ControlClick($windowHandle, "", "[CLASS:Button; TEXT:&Open]")

这是非常简单的文件上传,但是文件没有在Firefox 23.0版中上传。请告诉我AutoIT脚本是否特定于浏览器。

先谢谢

2 个答案:

答案 0 :(得分:0)

试试这个:

    Opt('WinTitleMatchMode', 2) ; search substrings!
Local $winText = "File Upload"
If Not WinExists($winText) Then _output('Can''t find the window')
Local $windowHandle = WinGetHandle($winText)
If Not IsHWnd($windowHandle) Then _output('No handle')
If WinActivate($windowHandle) = 0 Then _output('Can''t activate')
Send("C:\Test\Penguins.jpg")
If Not ControlClick($windowHandle, "", "[CLASS:Button; TEXT:&Open]") Then _output('Click failed')

Func _output($txt)
    MsgBox(16, 'Error', $txt)
    Exit (0)
EndFunc   ;==>_output

答案 1 :(得分:0)

您需要将代码分成几行。

    HotKeySet('1', '_getTitle')
While 1
    Sleep(100)
WEnd
Func _getTitle()
    ConsoleWrite(WinGetTitle('[active]') & @CRLF)
    MsgBox(64, 'info', 'The title is : ' & WinGetTitle('[active]'))
    Exit (0)
EndFunc   ;==>_getTitle

试试吧。在Scite4Autoit3中启动脚本。然后手动激活firefox。然后按1.