在运行时选择文件浏览窗口中的不同文件

时间:2014-10-29 06:12:41

标签: java selenium

我正在使用Selenium web驱动程序来处理文件浏览窗口。在尝试了不同的事情后,我找到了一个解决方案,我正在使用AutoIt。

脚本

@Test
    public void test() throws InterruptedException, IOException 
    {
        driver.manage().window().maximize();
        Thread.sleep(1500);
        driver.findElement(By.xpath("//div[@id='input-file-wrapper']")).click();
        Thread.sleep(1000);
        Process proc =Runtime.getRuntime().exec("D:\\Upload.exe");
        driver.findElement(By.xpath("//div[@id='go-btn']")).click();
        //driver.findElement(By.name("File name")).sendKeys("D:\\[Limetorrents.cc]_Daawat e Ishq          (2014) DvDScr x264 [DTRC] .torrent");
        driver.findElement(By.xpath("//div[@id='cloud-free-btn']")).click();

        /*
        WebDriverWait wait=new WebDriverWait(driver,50);
        wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='vlc-   playlist']")));
    */
        Thread.sleep(1000);
    //  String i= driver.findElement(By.xpath("//div[@class='seed-number']")).getText();
        boolean i1=driver.findElement(By.xpath("//div[@class='vlc-playlist']")).isDisplayed();
        System.out.println(i1);

        do
        {
            driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
            i1=driver.findElement(By.xpath("//div[@class='vlc-playlist']")).isDisplayed();
       }
           while(i1!=true);
          Thread.sleep(1000);
          driver.findElement(By.xpath("//img[@alt='trash']")).click();
          driver.findElement(By.xpath("//div[@class='confirm-to-remove']")).click();

    }

AutoIt的脚本如下所示,它生成了Upload.exe文件,并且我已经在路径名中给出了

WinWaitActive("File Upload")
Send("[kickass.to]desi.kattey.2014.1cd.dvdscr.rip.hindi.xvid.mp3.mafiaking.teamtnt.exclusive.torrent")
Send("{ENTER}")

这里每次运行时只需要一个文件。如何拍摄不同的文件。

1 个答案:

答案 0 :(得分:0)

AutoIt脚本可以从命令行传递参数。因此,当您使用Runtime.exec("process")执行自动脚本时,在该时间点将文件名作为参数传递并接受脚本中的命令行参数。如果这有帮助,请告诉我。