首页 > 解决方案 > 如何杀死之前由 Web 驱动程序打开的浏览器实例(chrome)

问题描述

我想杀死之前由网络驱动程序打开的浏览器实例(chrome)。我该怎么做?在下面的代码中,我故意不想包含 quit() 或 close(),因为我想让浏览器保持打开状态。所以每次我执行或运行这个程序时,我都想杀死/关闭以前打开的浏览器,然后启动一个新实例并让它保持打开状态。因此,一次只能打开一个浏览器实例。我正在使用 Mac。

public static void main(String[] args){

    String website = "http://www.google.com";
    System.setProperty(".....");
    WebDriver driver = new ChromeDriver();
    driver.get(website);

}

atm 的行为是每次我执行此操作时,chrome 实例都会堆积起来。避免这种情况的最佳方法是什么?我这样做不是为了测试目的。我这样做是因为我想自动化一项任务。谢谢。

标签: javamacosseleniumselenium-webdriver

解决方案


你可以试试这段代码

public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "D:\\Automation\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.google.com/");
        try{
            Runtime.getRuntime().exec("TASKKILL /F /IM chrome.exe");
        }
        catch(IOException io){
            System.out.println(io.getMessage());
        }
    }  

注意:它将杀死之前打开的所有 chrome 实例以及新打开的实例。


推荐阅读