硒的文件下载过程自动化

时间:2019-03-04 02:45:40

标签: file selenium-webdriver downloading

URL位于文件中,需要从该文件复制并在浏览器中单击。必须对所有URL进行此过程。在最大条件下,文件大小小于1 MB。下载完成后,将仅开始另一个文件下载,这意味着活动下载在任何时候均为1。

我正在手动执行此过程,用于下载125个文件。此数字在未来几天可能会增加。因此,我计划使此过程自动化。我可以用硒实现吗?

我对Selenium Webdriver有所了解,我能够编写简单的脚本。 如果硒无法处理,请参考其他方法。

3 个答案:

答案 0 :(得分:0)

首先,使用Selenium / Java读取excel文件。请参阅下面的链接以获取更多信息:

https://www.guru99.com/all-about-excel-in-selenium-poi-jxl.html

一个接一个地从Excel工作表中读取URL:

while(current_row<=row_count)
{
driver.get("url captured from the excel")
}

我认为当您点击URL时文件会自动下载。如果在下载完成后要显示任何特定元素,则可以等待UntilElementVisible或Sikuli进行下载(对于手动下载)

答案 1 :(得分:0)

使用以下代码从excel工作表中获取

public class excel {

    public static String getExcelData(String sheetName, int rowNum,int colNum)
    {
        String url=null;
        try
        {
            FileInputStream fis=new FileInputStream("filepath.xls");
            Workbook wb=WorkbookFactory.create(fis);
            Sheet s=wb.getSheet(sheetName);
            Row r=s.getRow(rowNum);
            Cell c=r.getCell(colNum);
            retval=c.getStringCellValue();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        } 
        return url;

    }
}
  • 代码将返回您的网址
  • 使用此网址下载文件
  • WebDriver driver;
  • driver.get(url);

这将下载文件。

答案 2 :(得分:0)

  

URL位于文件中,需要从该文件复制并在浏览器中单击。

最简单的解决方案是使用Kantu Selenium IDE(不需要Selenium Webdriver)。您可以在循环中read the list of URLs from a CSV file,如链接的论坛帖子中所示:

{
  "CreationDate": "2018-6-27",
  "Commands": [
    {
      "Command": "csvRead",
      "Target": "url.csv",
      "Value": ""
    },
    {
      "Command": "open",
      "Target": "${!col1}",
      "Value": ""
    }
  ]
}

该代码段可以直接复制到source code tab中。