2014-10-17 14 views
9

Za pomocą poniższego kodu udało mi się otworzyć adres URL za pomocą mojej zewnętrznej przeglądarki (w moim przypadku - przeglądarki Firefox). Każda akcja otwierania adresu URL tworzy nową kartę iz czasem mam setki kart, które chcę uniemożliwić. Używam tego narzędzia do wizualnego sprawdzania niektórych dat na stronie internetowej, a po naciśnięciu przycisku Dalej powinna wyświetlać następną stronę na tej samej karcie.Otwarty adres URL w istniejącej przeglądarce/karcie w java

Jak to osiągnąć?

Kod:

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

to pytanie, w jaki sposób openWebpage() zastąpić istniejącą kartę w przeglądarce? – adrianX

Odpowiedz

3

Myślę, że trzeba użyć WebDriver na to, ale być może to jest to trochę przesada:

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

Samplecode:

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

w ostatnim wierszu zostanie użyte to samo okno do otwarcia nowego adresu URL.