diff --git a/src/main/java/com/team4/giftidea/service/CoupangApiService.java b/src/main/java/com/team4/giftidea/service/CoupangApiService.java index 3fc2d84..29ebc1b 100644 --- a/src/main/java/com/team4/giftidea/service/CoupangApiService.java +++ b/src/main/java/com/team4/giftidea/service/CoupangApiService.java @@ -24,8 +24,7 @@ public class CoupangApiService { private static final String COUPANG_SEARCH_URL = "https://www.coupang.com/np/search?q=%s&channel=user"; - private static final String USER_AGENT = "user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + - "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"; + private static final String USER_AGENT = "user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.90 Safari/537.36"; @Value("${selenium.chromedriver-path}") private String chromeDriverPath; @@ -52,6 +51,17 @@ public List searchItems(String query) { System.setProperty("webdriver.chrome.driver", chromeDriverPath); ChromeOptions options = new ChromeOptions(); + options.addArguments("--headless=new"); // 최신 headless 모드 사용 + options.addArguments("--disable-gpu"); + options.addArguments("--no-sandbox"); + options.addArguments("--disable-dev-shm-usage"); + options.addArguments("--remote-debugging-port=9222"); + options.addArguments("--disable-software-rasterizer"); + options.addArguments("--disable-extensions"); + options.addArguments("--disable-popup-blocking"); + options.addArguments("--window-size=1920,1080"); + + // 최신 User-Agent 추가 options.addArguments(USER_AGENT); WebDriver driver = new ChromeDriver(options); @@ -137,4 +147,4 @@ private String extractProductId(String link) { return "unknown"; } } -} \ No newline at end of file +} diff --git a/src/main/java/com/team4/giftidea/service/KreamApiService.java b/src/main/java/com/team4/giftidea/service/KreamApiService.java index 5ace5c6..f7aff7a 100644 --- a/src/main/java/com/team4/giftidea/service/KreamApiService.java +++ b/src/main/java/com/team4/giftidea/service/KreamApiService.java @@ -25,8 +25,7 @@ public class KreamApiService { private static final String KREAM_SEARCH_URL = "https://kream.co.kr/search?keyword=%s&tab=products"; - private static final String USER_AGENT = "user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + - "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"; + private static final String USER_AGENT = "user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.90 Safari/537.36"; @Value("${selenium.chromedriver-path}") private String chromeDriverPath; @@ -49,6 +48,17 @@ public List searchItems(String query) { System.setProperty("webdriver.chrome.driver", chromeDriverPath); ChromeOptions options = new ChromeOptions(); + options.addArguments("--headless=new"); // 최신 headless 모드 사용 + options.addArguments("--disable-gpu"); + options.addArguments("--no-sandbox"); + options.addArguments("--disable-dev-shm-usage"); + options.addArguments("--remote-debugging-port=9222"); + options.addArguments("--disable-software-rasterizer"); + options.addArguments("--disable-extensions"); + options.addArguments("--disable-popup-blocking"); + options.addArguments("--window-size=1920,1080"); + + // 최신 User-Agent 추가 options.addArguments(USER_AGENT); WebDriver driver = new ChromeDriver(options); @@ -114,4 +124,4 @@ private Product extractProductInfo(WebElement productElement, String query) { return null; } } -} \ No newline at end of file +}