Bir web uygulaması aracılığıyla veri yüklemek için Selenium kullanan Java programımdan aradığım bir AutoIt komut dosyası var. Komut dosyası, dosyadan değeri kullanarak ancak Java programı ön planda çalıştığında dosyayı karşıya yüklemeye çalışır. Muhtemelen bu program arka planda çalışacaktır.Bir dosya yüklemek için arka planda bir Autoit komut dosyasını çalıştırabilir miyim?
Arka planda çalışırken program çalışacak şekilde nasıl kurabilirim?
Java:
Thread.sleep(2000); // wait for page load
Runtime.getRuntime().exec("C:\\Users\\Janet\\Documents\\uploadFile.exe " + uploadFile);
AutoIt: Aslında komutlar önce kelime Kontrolünü kullanarak bu sorunu çözdük
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=C:\Users\Janet\Documents\uploadFile.exe
#AutoIt3Wrapper_Outfile_x64=C:\Users\Janet\Documents\uploadFile_x64a.Exe
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
ControlFocus("File Upload","","Edit1"); Name of the file upload window (Windows Popup Name: Open)
ControlSetText("File Upload","","Edit1",$CmdLineRaw); File name
Send("{ENTER}")
Dosyayı yüklemek için sadece Selenyumlu SendKey'leri kullanamaz mısınız? Bunun temel dosya yükleme düğmesi olduğunu ve javascript kütüphane uygulamasının olmadığını varsayıyorum. –
Arka plan programında bir odaklama yapabileceğinizi düşünmüyorum. – IkeRoyle
Hayır Yapamam. İlk ekranda bir dosya adı girmek için metin kutusu yoktur. Bir kepçe aracına gidip dosya gezgini iletişim kutusunu açmak için bunun içine tıkla. Şayet sadece selenyumdaki göndericileri kullanıyor olsaydım, bunu yapardım. – Janet