在Java中在现有浏览器/选项卡中打开URL

10

使用以下代码,我成功地打开了一个外部浏览器(在我的情况下是Firefox)中的URL。每个URL打开操作都会创建一个新标签页,随着时间的推移,我会有数百个标签页,我想要避免这种情况。我将其用于一种工具,以可视化方式检查网页中的某些日期,并在按下“下一页”时在同一标签页中显示下一页。

如何实现这一点?

代码:

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();
        }
    }
}

你的问题是如何让openWebpage()替换浏览器中已有的标签页? - adrianX
1个回答

4
我认为您需要使用WebDriver,但这可能有点过度解释:

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

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

最后一行将使用相同的窗口打开新的URL。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接