使用無頭瀏覽器,可以避免掉不確定的彈出框對腳本穩定性的影響,還能在腳本執行過程中省略掉了css 加載的時間。
以下是Selenium 啟動無頭瀏覽器的方法,只有chrome 和 firefox的。
public static void startBrowser(String string) { switch(string.toLowerCase()){ case "chrome": System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "\\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") + "\\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") + "\\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; } }