|
|
@@ -19,7 +19,11 @@ public class WebDriverUtil {
|
|
|
private static final Logger logger = LoggerFactory.getLogger(WebDriverUtil.class);
|
|
|
|
|
|
// 配置无头模式 浏览器大小常量,避免重复
|
|
|
+
|
|
|
private static final String HEADLESS_OPTION = "--headless";
|
|
|
+ private static final String NO_SANDBOX = "--no-sandbox";
|
|
|
+ private static final String DISABLE_DEV_SHM_USAGE = "--disable-dev-shm-usage";
|
|
|
+
|
|
|
private static final String WINDOW_SIZE_OPTION = "--window-size=1920x1080";
|
|
|
|
|
|
// 隐式等待时间,读取配置文件
|
|
|
@@ -74,7 +78,10 @@ public class WebDriverUtil {
|
|
|
ChromeOptions chromeOptions = new ChromeOptions();
|
|
|
if (headless) {
|
|
|
chromeOptions.addArguments(HEADLESS_OPTION); // 启用无头模式
|
|
|
+
|
|
|
chromeOptions.addArguments(WINDOW_SIZE_OPTION); // 设置窗口大小
|
|
|
+ chromeOptions.addArguments(NO_SANDBOX); // 启用无头模式
|
|
|
+ chromeOptions.addArguments(DISABLE_DEV_SHM_USAGE); // 启用无头模式
|
|
|
}
|
|
|
driver = new ChromeDriver(chromeOptions);
|
|
|
logger.info("CHROME browser started successfully, opening the website...");
|
|
|
@@ -85,6 +92,8 @@ public class WebDriverUtil {
|
|
|
if (headless) {
|
|
|
firefoxOptions.addArguments(HEADLESS_OPTION); // 启用无头模式
|
|
|
firefoxOptions.addArguments(WINDOW_SIZE_OPTION); // 设置窗口大小
|
|
|
+ firefoxOptions.addArguments(NO_SANDBOX); // 启用无头模式
|
|
|
+ firefoxOptions.addArguments(DISABLE_DEV_SHM_USAGE); // 启用无头模式
|
|
|
}
|
|
|
driver = new FirefoxDriver(firefoxOptions);
|
|
|
logger.info("FIREFOX browser started successfully, opening the website...");
|
|
|
@@ -95,6 +104,8 @@ public class WebDriverUtil {
|
|
|
if (headless) {
|
|
|
edgeOptions.addArguments(HEADLESS_OPTION); // 引用常量
|
|
|
edgeOptions.addArguments(WINDOW_SIZE_OPTION); // 引用常量
|
|
|
+ edgeOptions.addArguments(NO_SANDBOX); // 启用无头模式
|
|
|
+ edgeOptions.addArguments(DISABLE_DEV_SHM_USAGE); // 启用无头模式
|
|
|
}
|
|
|
driver = new EdgeDriver(edgeOptions);
|
|
|
logger.info("EDGE browser started successfully, opening the website...");
|