Jump to content

Recommended Posts

Posted (edited)

 Hi Guys, i am trying to automate a site where you click a button and a window open and ask you to select a file for upload.
 That part works fine, but after that i cant get Autoit to select a file for the upload. I am trying to use the "ControlSend" and similar functions,
 but i cant get it to work. Nothing happens. Here is the screenshot from the info tool:

What am i missing ? It should be an easy thing to do...

 

1111.jpg

Edited by Juvigy
images got lost
Posted

Yes, that's the thing - i have noticed that the script is paused until i close the popup. Why does it wait?

Here is my code snippet. You can see i tried many things to get the handle or the control.

IF $oDiv.innerHTML = "Add Files..." Then
;~                      ConsoleWrite("Test:"&$oDiv.id&@CRLF)
;~                      ConsoleWrite("Test:"&$oDiv.title&@CRLF)
                        _IEAction($oDiv,"click")
                        Sleep(1000)
;~                      ControlSetText("Choose File to Upload", "", "","C:\test.txt")
;~                      $hWnd = WinWait("[CLASS:Edit; INSTANCE:1]" ,"",1)
                        $hWnd = WinGetHandle("#32770")
                        MsgBox(0, @error, $hWnd)
;~                      ControlSend($hWnd, "", "", "This is some text")
;~                      ControlClick("[CLASS:Button; INSTANCE:1]","", "")
                    EndIf

 

Posted

Take a look here:

 

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted (edited)

Danp2

I tried this one instead of the IEclick:

$iBrowserX = _IEPropertyGet($oDiv, "browserx")
$iBrowserY = _IEPropertyGet($oDiv, "browsery")
$iWidth = _IEPropertyGet($oDiv, "width")
$iHeight = _IEPropertyGet($oDiv, "height")
ControlClick(_IEPropertyGet($oIE, "hwnd"), "", "", "left", 1, $iBrowserX + $iWidth/2, $iBrowserY + $iHeight/2)

From e topic from Dale, it didnt work.

mLipok

I tried this and it didnt work.

_ExecuteInBackground
_IEAction($oDiv,"click")

Func _ExecuteInBackground()
    Local $sCommand = _
            'Local ' & _
            '$Dummy1 = WinWaitActive("[CLASS:#32770]", "Choose File to Upload",10), ' & _
            '$Dummy2 = Sleep(1000), ' & _
            '$Dummy3 = ControlSend("[CLASS:#32770]", "Choose File to Upload", "[CLASS:Edit; INSTANCE:1]", "c:\test.txt") ' & _
            ''
    $sCommand = '"' & StringReplace($sCommand, '"', '""') & '"'
    ConsoleWrite($sCommand & @CRLF)
    Run(@AutoItExe & ' /AutoIt3ExecuteLine ' & $sCommand)
EndFunc   ;==>_ExecuteInBackground

 

Edited by Juvigy
tested
Posted

I use the following code to paste in a hard-coded file link to a file upload dialog box in IE

 

WinWait("Choose File to Upload")
$hChoose = WinGetHandle("Choose File to Upload")
Sleep(1000)
ControlSetText($hChoose, "", "Edit1", "C:\Path\To\File.doc")
Sleep(1000)
Send("{ENTER}")
Sleep(1000)

It may work fine without the Sleep's but on the particular box I have this running on I was getting inconsistent results without them.

  • 2 weeks later...
Posted

It worked, the issue is solved. This is the final code:

 

Func _ExecuteInBackground()
    Local $sCommand = _
            'Local ' & _
            '$Dummy1 = WinWaitActive("Choose File to Upload", "", 20), ' & _
            '$Dummy2 = Sleep(1000), ' & _
            '$Dummy3 = ControlSetText("Choose File to Upload", "", "Edit1", "C:\Path\To\File.doc;C:\Path\To\File1.doc"), ' & _
            '$Dummy4 = ControlClick("Choose File to Upload", "", "Button1") ' & _
            ''
    $sCommand = '"' & StringReplace($sCommand, '"', '""') & '"'
    ConsoleWrite($sCommand & @CRLF)
    Run(@AutoItExe & ' /AutoIt3ExecuteLine ' & $sCommand)
EndFunc   ;==>_ExecuteInBackground

 

  • 2 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...