2014-10-17 13 views
9

Mit dem folgenden Code konnte ich eine URL mit meinem externen Browser (in meinem Fall Firefox) öffnen. Jede geöffnete URL-Aktion erstellt einen neuen Tab und im Laufe der Zeit habe ich Hunderte von Tabs, die ich verhindern möchte. Ich benutze dies für ein Tool, um einige Daten auf einer Webseite visuell zu überprüfen und wenn ich weiter drücke, sollte es die nächste Seite auf der gleichen Registerkarte anzeigen.URL im vorhandenen Browser/Tab in Java öffnen

Wie erreiche ich das?

Code:

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

ist Ihre Frage, wie OpenWebpage() eine vorhandene Registerkarte im Browser ersetzen? – adrianX

Antwort

3

Ich glaube, Sie brauchen eine WebDriver dafür zu benutzen, aber vielleicht das ist ein bisschen viel des Guten:

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

Samplecode:

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

Die letzte Zeile wird das gleiche Fenster verwenden, um die neue URL zu öffnen.