而不是链接命中页面上的MouseEvent.BUTTON3

时间:2014-07-30 21:21:30

标签: java selenium

所以,我对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

0 个答案:

没有答案