所以,我对Java完全不熟悉。不像刚刚完成他的第一个Java课程的那个人,更像是在youtube上学习Java的人,所以他可以编写一个脚本。我确信我不了解最佳做法,所以我欢迎任何建设性的批评。
在脚本的这一点上,我打开了一个网页,提交了一个文件并进行了处理。然后它转到另一个包含4个文件的页面,这些文件包含基于上传文件的信息。我需要将这4个文件逐个下载到特定目录。显然,我正专注于下载第一个,因为其他人将使用相同的过程检索。问题是,此时我尝试的右键单击是网页本身,而不是第一个文件的链接。我也发布了所有这些,希望有人会嘲笑我并告诉我有一些过程可以处理这两行。 : - )
//download the first resulting file - sum
driver.findElement(By.partialLinkText("sum"));
robot.mousePress(MouseEvent.BUTTON3_MASK);
robot.mouseRelease(MouseEvent.BUTTON3_MASK);
for (int counter=1; counter<=5; counter++){
robot.keyPress(KeyEvent.VK_DOWN);
robot.keyRelease(KeyEvent.VK_DOWN);
}
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
//pause awhile to allow the file to be processed
try {
TimeUnit.SECONDS.sleep(3);
} catch(InterruptedException e) {
//Thread.currentThread().interrupt();
}
//save path variable
String saveSum = save + "\\" + year + "\\" + doy + "\\" + site + doy + ".sum";
//pause
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
//apply the path and file
StringSelection ssSum = new StringSelection(saveSum);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ssSum, null);
//perform native keystrokes for CTRL+v and ENTER keys
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
所有这些的链接是:http://apps.gdgps.net/apps_uploads/default/da3f6d29f233a327189194ced394132a/index.html