下载文件
//下载文件方法
@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);
}
}