下载文件

//下载文件方法
@Test
public static void download_file() {

System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
FirefoxDriver dr = new FirefoxDriver();
DeleFile.dele_file(delepath);
dr.get(url);
try {

dr.manage().window().maximize();
List<WebElement> eles = dr.findElements(By.partialLinkText(time1));

String[] time2 = new String[eles.size()];
String[] gettime = new String[eles.size()];

for(int i = 0;i < eles.size();i++){
time2[i] = eles.get(i).getText();
gettime[i] = get_time(time2[i],time1,time3);
}
try {
ArrayTime(gettime);
} catch (ParseException e) {
e.printStackTrace();
}
apkname = time1+gettime[0]+time3;
WebElement ele = dr.findElement(By.linkText(apkname));
path = path1+apkname;
setSysClipboardText(path);
setRobot(dr,ele);

dr.quit();

} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


//得到apk中时间
public static String get_time(String time,String time1,String time2){
String datetime=time.split(time2)[0];
String lasttime = datetime.split(time1)[1];
return lasttime;
}


//时间按由大到小顺序排列
public static void ArrayTime(String[] time) throws ParseException{
String bigtime = time[0];
DateFormat df = new SimpleDateFormat("yyyy-MM-dd_HHmm");
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
for(int i = 0;i < time.length-1;i++){
for(int j = i+1;j < time.length;j++){
c1.setTime(df.parse(time[i]));
c2.setTime(df.parse(time[j]));
int result = c1.compareTo(c2);
if(result < 0){


bigtime = time[i];
time[i] = time[j];
time[j] = bigtime;
}
}

}

}


//模拟鼠标下载文件
public static void setRobot(FirefoxDriver driver,WebElement ele) throws InterruptedException{
try {

Robot robot = new Robot();
Actions action = new Actions(driver);
action.contextClick(ele).perform();

for(int i = 0;i < 5;i++) {
robot.keyPress(KeyEvent.VK_DOWN);
robot.keyRelease(KeyEvent.VK_DOWN);
robot.delay(1000);
}


robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);

robot.delay(5000);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);

robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_V);

robot.delay(1000);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);

robot.delay(1000);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);

robot.delay(1000);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);

robot.delay(3000);
} catch (AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

//复制信息到剪切板
public static void setSysClipboardText(String writeMe) {
Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable tText = new StringSelection(writeMe);
clip.setContents(tText, null);
}

 


}

posted @ 2017-03-13 16:25  wxjhappy  阅读(202)  评论(0编辑  收藏  举报