chenping 7 месяцев назад
Родитель
Сommit
95c1b6153e
1 измененных файлов с 11 добавлено и 0 удалено
  1. 11 0
      src/main/java/com/zoomwin/utils/WebDriverUtil.java

+ 11 - 0
src/main/java/com/zoomwin/utils/WebDriverUtil.java

@@ -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...");