下载后文件名在运行时更改时如何从csv文件中读取数据

时间:2016-08-22 08:50:23

标签: selenium-webdriver

我正在尝试自动下载csv文件并从那里读取数据。

我尝试过:

CSVReader reader = new CSVReader(new FileReader("D:\\File\\1453.csv")); 
String [] csvCell;
//while loop will be executed till the last line In CSV.

while ((csvCell = reader.readNext()) != null) {   
String FName = csvCell[0];

String LName = csvCell[1];

String Email = csvCell[2];

String Mob = csvCell[3];

String company = csvCell[4];

但问题是在这里我需要在提到路径时给出文件名,这里我不能写名字,因为它在下载后会在运行时被更改。请建议

2 个答案:

答案 0 :(得分:1)

如果文件名与下载链接相同(即使它是部分的),您可以从下载按钮或使用getAttribute(" href")的任何元素获取链接,然后您就可以用它来形成要读取的文件名。

    String fileName = driver.findElement("<download_locator>").getAttribute("href")
CSVReader reader = new CSVReader(new FileReader("D:\\File\\" + fileName)); 
String [] csvCell;
//while loop will be executed till the last line In CSV.

while ((csvCell = reader.readNext()) != null) {   
String FName = csvCell[0];

String LName = csvCell[1];

String Email = csvCell[2];

String Mob = csvCell[3];

String company = csvCell[4];

答案 1 :(得分:0)

你试过这个吗?并从方法传递参数?

CSVReader reader = new CSVReader(new FileReader("D:\\File\\" + provideFileName));