Java代码打开浏览器访问网页及关闭浏览器

使用java代码打开关闭浏览器(计算机默认的浏览器)

import java.awt.*;
import java.io.IOException;
import java.net.URI;

import static java.awt.Desktop.isDesktopSupported;

/**
 * @author 阿水
 * @create 2023-04-08 10:44
 * @ClassName:BrowseDesignatedWebPages
 * @Description:使用java代码打开关闭浏览器(指定的浏览器或者计算机默认的浏览器) 获取网页字节流内容信息,
 */
public class BrowseDesignatedWebPages {
    //定义Uniform Resource Locator,统一资源定位器集合
    public static final String[] urls = {
            "https://baidu.com",
            "https://kaifa.baidu.com/",

    };

    /**
     * @Description: 打开计算机默认的浏览器访问指定的url页面
     * @date: 2023-04-08 10:45
     * @修改备注:
     */
    public static void openBrowse() {
        for (String url : urls) {
            if (isDesktopSupported()) {
                try {
                    //创建一个URI实例,注意不是URL
                    URI uri = URI.create(url);
                    //获取当前系统桌面扩展
                    Desktop desktop = Desktop.getDesktop();
                    //判断系统桌面是否支持要执行的功能:OPEN,EDIT,PRINT,MAIL,BROWSE
                    if (desktop.isSupported(Desktop.Action.BROWSE)) {
                        //获取系统默认浏览器打开链接
                        desktop.browse(uri);
                    }
                } catch (NullPointerException e) {
                    //此为uri为空时抛出异常
                } catch (IOException e) {
                    //此为无法获取系统默认浏览器
                }
            }
            try {
                //生成0-1的随机数
                double random = Math.random();
                int ramInt = (int) (random * 50000);
                //可能random为零所以加些毫秒数的好
                int needInt = ramInt + 2000;
                Thread.sleep(needInt);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * @Description: 关闭浏览器(关闭指定的浏览器,在此处是强行关闭浏览器,强行杀死进程)
     * @date: 2023-04-08 10:48
     * @修改备注:
     */
    public static void closeBrowse() {
        try {
            /**
             * taskkill是用来终止进程的。
             * 具体的命令规则如下:
             * TASKKILL [/S system [/U username [/P [password]]]]
             * /F 指定要强行终止的进程。
             * /FI filter 指定筛选进或筛选出查询的的任务。
             * /PID process id 指定要终止的进程的PID。
             * /IM image name 指定要终止的进程的映像名称。通配符 '*'可用来指定所有映像名。
             */
//我的默认是谷歌浏览器 如果默认其他的浏览器在这里改即可
            Runtime.getRuntime().exec("taskkill /F /IM chrome.exe");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //主方法调用
    public static void main(String[] args) throws InterruptedException {
        // TODO Auto-generated method stub
        for (int i = 0; i < 5201314; i++) {
            //生成0-1的随机数
            double random = Math.random();
            int ramInt = (int) (random * 80000);
            //可能random为零所以加些毫秒数的好
            int needInt = ramInt + 5000;
            //调用开启方法(函数)
            openBrowse();
            Thread.sleep(needInt);
            //调用关闭方法(函数)
            closeBrowse();
        }
    }
    
}

猜你喜欢

转载自blog.csdn.net/lps12345666/article/details/130026540