From 27aa9ae2516ad8ccee67c41d1393c00d1c2c1899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=80=EC=9B=90?= <110761377+andrewkimswe@users.noreply.github.com> Date: Mon, 10 Feb 2025 18:08:26 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix=20:=20Selenium=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../giftidea/service/CoupangApiService.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) 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 +} From 12a150a4551937c884e3b37ac8d2ef9798bab06f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=80=EC=9B=90?= <110761377+andrewkimswe@users.noreply.github.com> Date: Mon, 10 Feb 2025 18:09:23 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=08fix=20:=20ChromeOptions=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../team4/giftidea/service/KreamApiService.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) 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 +}