使用无头浏览器,可以避免掉不确定的弹出框对脚本稳定性的影响,还能在脚本执行过程中省略掉了css 加载的时间。 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

以下是Selenium 启动无头浏览器的方法,只有chrome 和 firefox的。

public static void startBrowser(String string) {
        switch(string.toLowerCase()){
        case "chrome":
            System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "\\src\\main\\java\\ScreenShotTest\\inno\\cmptt\\chromedriver.exe");
             ChromeOptions chromeOptions = new ChromeOptions();                
             chromeOptions.addArguments("--headless");//设置为 headless 模式
             driver = new ChromeDriver(chromeOptions);            
            driver.manage().window().setSize(new Dimension(1280,800));
            break;    
        case "ie"://ie没有设置无头浏览器的方法。
            System.setProperty("webdriver.ie.driver", System.getProperty("user.dir") + "\\src\\main\\java\\ScreenShotTest\\inno\\cmptt\\IEDriverServer.exe");
            driver = new InternetExplorerDriver();            
            driver.manage().window().setSize(new Dimension(1280,800));
            break;
        case "firefox":
            System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir") + "\\src\\main\\java\\ScreenShotTest\\inno\\cmptt\\geckodriver.exe");
            FirefoxOptions firefoxOptions = new FirefoxOptions();
            firefoxOptions.setHeadless(true);//方法一
            firefoxOptions.addArguments("--headless");//方法二,二选其一都是可以的
            driver = new FirefoxDriver(firefoxOptions);                
            driver.manage().window().setSize(new Dimension(1280,800));
            break;
        }
    }

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄