我可以使用Webdriver java在Multiple文件夹中下载单个文件吗?

时间:2017-04-12 08:56:25

标签: java selenium selenium-webdriver

我正在使用此代码下载。我的目标是在4个不同的位置下载此文件。现在该文件将进入默认的“下载”文件夹。

 System.setProperty("webdriver.chrome.driver",
            System.getProperty("user.dir") + "/src/Browser_Driver/chromedriver.exe");
 WebDriver driver = new ChromeDriver();
 driver.manage().timeouts().implicitlyWait(35, TimeUnit.SECONDS);
 driver.manage().window().maximize();

 driver.get("https://support.spatialkey.com/spatialkey-sample-csv-data/");
 driver.findElement(By.linkText("download .csv file")).click();

2 个答案:

答案 0 :(得分:0)

没有一种简单的方法可以做到这一点,你必须做出某种黑客攻击。 这对我有帮助。 https://blog.codecentric.de/en/2010/07/file-downloads-with-selenium-mission-impossible/

答案 1 :(得分:0)

以下是您的问题的解决方案:

您可以使用您选择的任何名称(例如D_Dev.zip)以及您希望的任何(多个)位置轻松下载相同的文件(例如IEDriverServer_Win32_3.3.0.zip)。为此你必须得到AutoIT的帮助。您需要安装SciTE编辑器。写一个简单的脚本如下:

Example()

Func Example()
    Local $sFilePath1 = "D:\Downloads\D_Debanjan.zip"
    Local $sFilePath2 = "E:\Downloads\E_Debanjan.zip"
    Local $hDownload = InetGet("http://selenium-release.storage.googleapis.com/3.3/IEDriverServer_Win32_3.3.0.zip", $sFilePath1, $INET_FORCERELOAD)
    Local $hDownload = InetGet("http://selenium-release.storage.googleapis.com/3.3/IEDriverServer_Win32_3.3.0.zip", $sFilePath2, $INET_FORCERELOAD)

EndFunc

这个简单的脚本在名为“D_Debanjan.zip”的两个不同的压缩文件中下载相同的“IEDriverServer.exe”。 “E_Debanjan.zip”,其中“D_Debanjan.zip”保存在“D:\ Downloads \”& “E_Debanjan.zip”保存在“E:\ Downloads \”目录中。

如果这回答了你的问题,请告诉我。