2014-10-17 13 views
9

Con il seguente codice sono riuscito ad aprire un URL con il mio browser esterno (nel mio caso, Firefox). Ogni azione aperta di URL crea una nuova scheda e nel tempo ho centinaia di schede, che voglio impedire. Io lo uso per uno strumento per controllare visivamente alcune date in una pagina Web e quando si preme il prossimo, dovrebbe mostrare la pagina successiva nella stessa scheda.Apri URL nel browser/scheda esistente in java

Come ottengo questo?

Codice:

public static void openWebpage(URL url) { 
    try { 
     openWebpage(url.toURI()); 
    } catch (URISyntaxException e) { 
     e.printStackTrace(); 
    } 
} 

public static void openWebpage(URI uri) { 
    Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null; 
    if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) { 
     try { 
      desktop.browse(uri); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

è la tua domanda, come avere openWebpage() sostituire una scheda esistente nel browser? – adrianX

risposta

3

penso che è necessario utilizzare un WebDriver per questo, ma forse thats un po 'di esagerazione:

http://docs.seleniumhq.org/docs/03_webdriver.jsp

SampleCode:

driver = new FirefoxDriver(); 
driver.get("http://google.com"); 
driver.navigate().to("http://stackoverflow.com"); 

l'ultima riga utilizzerà la stessa finestra per aprire il nuovo url.