From a5c98e351220a14c3bb45de6acf2710c262b97fa Mon Sep 17 00:00:00 2001 From: Envy_PC Date: Sat, 26 Oct 2024 14:38:24 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=91=EA=B3=A0=EB=8B=A4=EC=9D=B4=EC=95=8C?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=98=20=EB=A1=9C=EA=B7=B8=20=EB=93=B1?= =?UTF-8?q?=EA=B8=89=20=EC=88=98=EC=A0=95=20=EB=8B=A8=EC=9D=BC=EC=98=B5?= =?UTF-8?q?=EC=85=98=EC=97=90=20=EB=8C=80=ED=95=9C=20=EC=B2=98=EB=A6=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- appTranslator.log | 832 +++++++++++++++++++++++++++++++++++++++++++++ browser_control.py | 60 ++-- gui.py | 12 +- price.py | 5 +- 5 files changed, 878 insertions(+), 33 deletions(-) diff --git a/.gitignore b/.gitignore index 03023a7c..5b64165d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,9 @@ Include/ -include/ Lib/ Scripts/ __pycache__/ build/ pyvenv.cfg *.log +*.pyc browsers/user_data \ No newline at end of file diff --git a/appTranslator.log b/appTranslator.log index 81b48870..1eb1ee65 100644 --- a/appTranslator.log +++ b/appTranslator.log @@ -118174,3 +118174,835 @@ waiting for locator("div[role=\"dialog\"]") to be visible >>>>>>> 953cd4dd778b842648f83261e46863e896a4c9b2 >>>>>>> 7255ac1243494071f629dcc6ba4ba4f683d4b13a >>>>>>> 4d32e792d73bbfcbf5e3612790f19c38cc1aff5e +2024-10-26 14:17:56,892 - vertexAI.py:18 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: D:\py\autoTrans\leensoo1nt.json +2024-10-26 14:17:56,892 - vertexAI.py:22 - default_logger - DEBUG - Vertex AI 모델 초기화 중... +2024-10-26 14:17:56,918 - vertexAI.py:26 - default_logger - DEBUG - prompt.json 파일을 불러옵니다. +2024-10-26 14:17:56,919 - vertexAI.py:46 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json +2024-10-26 14:17:56,919 - vertexAI.py:50 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다. +2024-10-26 14:17:56,946 - DatabaseManager.py:14 - default_logger - DEBUG - Database engine created with URL: sqlite:///D:\py\autoTrans\userDB.db +2024-10-26 14:17:56,969 - cmb_diag.py:499 - default_logger - DEBUG - DB에서 데이터를 읽어와 테이블을 생성 +2024-10-26 14:17:56,970 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:17:56,992 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT id, category1, category2, category3, category4, crmobi_stage FROM categories WHERE 1=1 with params: {}, result count: 4901 +2024-10-26 14:17:57,363 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:17:57,363 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT stage, threshold, increment_unit, extra_cost FROM crmobi_stages with params: None, result count: 3 +2024-10-26 14:17:57,378 - cmb_diag.py:412 - default_logger - DEBUG - CrMoBi 단계 설정이 위젯에 반영되었습니다. +2024-10-26 14:17:57,378 - cmb_diag.py:256 - default_logger - DEBUG - 1레벨 카테고리를 업데이트 +2024-10-26 14:17:57,378 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:17:57,378 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT DISTINCT category1 FROM categories WHERE category1 IS NOT NULL with params: None, result count: 11 +2024-10-26 14:17:57,378 - price.py:74 - default_logger - DEBUG - self.shipping_config : {'min_price_for_extra_shipping': 50000, 'thresholds': [50000, 100000, 200000], 'increment_unit': 20000, 'additional_costs': [5000, 7000, 9000]} +2024-10-26 14:17:57,378 - price.py:76 - default_logger - DEBUG - self.margin_config : {'thresholds': [50000, 70000, 100000, 150000, 200000, 300000, 400000, 500000, 1000000], 'additional_margins': [5000, 10000, 15000, 25000, 35000, 50000, 70000, 90000, 120000]} +2024-10-26 14:17:57,378 - price.py:78 - default_logger - DEBUG - self.optimal_price_config : {'sold_price': None, 'cost_price2X': None, 'calculated_price': None, 'lower_bound': 0.85, 'upper_bound': 1.15, 'ratios': {'sold_price': 0.5, 'cost_price2X': 0.3, 'calculated_price': 0.2}} +2024-10-26 14:17:57,378 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:17:57,378 - gui.py:150 - default_logger - DEBUG - 로그기록이 설정되었습니다. +2024-10-26 14:18:15,288 - gui.py:549 - default_logger - DEBUG - 가격 수정 버튼 - 활성화 선택 +2024-10-26 14:18:18,203 - gui.py:549 - default_logger - DEBUG - 옵션 Auto선택 버튼 - 활성화 선택 +2024-10-26 14:18:19,086 - gui.py:549 - default_logger - DEBUG - 옵션명 AI번역 버튼 - 활성화 선택 +2024-10-26 14:18:25,486 - gui.py:614 - default_logger - DEBUG - 크롬 실행 버튼 클릭됨 +2024-10-26 14:18:25,486 - gui.py:615 - default_logger - DEBUG - self.browser_controller.page : None +2024-10-26 14:18:25,486 - gui.py:651 - default_logger - DEBUG - 크롬 브라우저를 실행합니다... +2024-10-26 14:18:25,486 - browser_control.py:64 - default_logger - DEBUG - 크롬 브라우저 실행 중... +2024-10-26 14:18:26,469 - browser_control.py:80 - default_logger - DEBUG - 브라우저 경로: D:\py\autoTrans\browsers\chromium-1112\chrome-win\chrome.exe +2024-10-26 14:18:26,486 - browser_control.py:81 - default_logger - DEBUG - 확장 프로그램 경로: D:\py\autoTrans\browsers\extensions\1.1.100_0 +2024-10-26 14:18:26,487 - browser_control.py:82 - default_logger - DEBUG - 사용자 폴더 경로: D:\py\autoTrans\browsers\user_data +2024-10-26 14:18:26,487 - browser_control.py:98 - default_logger - DEBUG - user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0 +2024-10-26 14:18:28,243 - browser_control.py:120 - default_logger - INFO - 새 페이지 로딩 중... +2024-10-26 14:18:36,265 - browser_control.py:123 - default_logger - INFO - percenty.co.kr/signin 로딩 완료 +2024-10-26 14:18:36,311 - browser_control.py:131 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션 +2024-10-26 14:18:36,315 - browser_control.py:138 - default_logger - DEBUG - 크롬 창 핸들: 526278 +2024-10-26 14:18:36,317 - browser_control.py:144 - default_logger - INFO - 로그인 시도 중: 관리자 계정 +2024-10-26 14:18:36,596 - browser_control.py:162 - default_logger - INFO - 로그인 완료: 관리자 계정 +2024-10-26 14:18:41,203 - browser_control.py:300 - default_logger - INFO - 다이얼로그가 발견되었습니다. 닫기 버튼을 클릭합니다. +2024-10-26 14:18:41,784 - browser_control.py:306 - default_logger - INFO - 다이얼로그를 성공적으로 닫았습니다. +2024-10-26 14:18:41,786 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:18:41,787 - gui.py:675 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중... +2024-10-26 14:18:42,597 - browser_control.py:319 - default_logger - INFO - 신규 상품 등록 페이지로 이동 완료. +2024-10-26 14:18:42,597 - option.py:43 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:18:42,597 - title.py:31 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:18:42,597 - price.py:52 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:18:52,672 - gui.py:732 - default_logger - DEBUG - 번역 작업 버튼 클릭됨 +2024-10-26 14:18:52,674 - gui.py:737 - default_logger - DEBUG - 번역 작업을 시작합니다... +2024-10-26 14:18:52,674 - browser_control.py:754 - default_logger - INFO - 페이지 스크롤 시작... +2024-10-26 14:18:54,224 - browser_control.py:764 - default_logger - INFO - 페이지 스크롤 완료. +2024-10-26 14:18:54,246 - browser_control.py:237 - default_logger - ERROR - 상품 수를 가져오는 중 오류 발생: Page.evaluate: DOMException: Failed to execute 'querySelector' on 'Document': '//*[@id="root"]/div/div/div/div/main/div/div[2]/div[3]/div[2]/div/div/div/div/div[1]/table/thead/tr/th[2]/div/span' is not a valid selector. + at eval (eval at evaluate (:234:30), :2:40) + at UtilityScript.evaluate (:241:19) + at UtilityScript. (:1:44) +Traceback (most recent call last): + File "D:\py\autoTrans\browser_control.py", line 223, in get_total_product_count + element_text = await self.page.evaluate(f'''(selector) => {{ + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\autoTrans\Lib\site-packages\playwright\async_api\_generated.py", line 8332, in evaluate + await self._impl_obj.evaluate( + File "D:\py\autoTrans\Lib\site-packages\playwright\_impl\_page.py", line 440, in evaluate + return await self._main_frame.evaluate(expression, arg) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\autoTrans\Lib\site-packages\playwright\_impl\_frame.py", line 278, in evaluate + await self._channel.send( + File "D:\py\autoTrans\Lib\site-packages\playwright\_impl\_connection.py", line 59, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\autoTrans\Lib\site-packages\playwright\_impl\_connection.py", line 514, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: Page.evaluate: DOMException: Failed to execute 'querySelector' on 'Document': '//*[@id="root"]/div/div/div/div/main/div/div[2]/div[3]/div[2]/div/div/div/div/div[1]/table/thead/tr/th[2]/div/span' is not a valid selector. + at eval (eval at evaluate (:234:30), :2:40) + at UtilityScript.evaluate (:241:19) + at UtilityScript. (:1:44) +2024-10-26 14:18:54,250 - gui.py:750 - default_logger - DEBUG - 수집할 상품이 없습니다. 작업을 종료합니다. +2024-10-26 14:19:04,539 - gui.py:867 - default_logger - DEBUG - 프로그램을 종료합니다... +2024-10-26 14:19:04,540 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:21:31,029 - vertexAI.py:18 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: D:\py\autoTrans\leensoo1nt.json +2024-10-26 14:21:31,029 - vertexAI.py:22 - default_logger - DEBUG - Vertex AI 모델 초기화 중... +2024-10-26 14:21:31,060 - vertexAI.py:26 - default_logger - DEBUG - prompt.json 파일을 불러옵니다. +2024-10-26 14:21:31,060 - vertexAI.py:46 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json +2024-10-26 14:21:31,062 - vertexAI.py:50 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다. +2024-10-26 14:21:31,103 - DatabaseManager.py:14 - default_logger - DEBUG - Database engine created with URL: sqlite:///D:\py\autoTrans\userDB.db +2024-10-26 14:21:31,122 - cmb_diag.py:499 - default_logger - DEBUG - DB에서 데이터를 읽어와 테이블을 생성 +2024-10-26 14:21:31,123 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:21:31,154 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT id, category1, category2, category3, category4, crmobi_stage FROM categories WHERE 1=1 with params: {}, result count: 4901 +2024-10-26 14:21:31,526 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:21:31,526 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT stage, threshold, increment_unit, extra_cost FROM crmobi_stages with params: None, result count: 3 +2024-10-26 14:21:31,526 - cmb_diag.py:412 - default_logger - DEBUG - CrMoBi 단계 설정이 위젯에 반영되었습니다. +2024-10-26 14:21:31,526 - cmb_diag.py:256 - default_logger - DEBUG - 1레벨 카테고리를 업데이트 +2024-10-26 14:21:31,541 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:21:31,541 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT DISTINCT category1 FROM categories WHERE category1 IS NOT NULL with params: None, result count: 11 +2024-10-26 14:21:31,541 - price.py:74 - default_logger - DEBUG - self.shipping_config : {'min_price_for_extra_shipping': 50000, 'thresholds': [50000, 100000, 200000], 'increment_unit': 20000, 'additional_costs': [5000, 7000, 9000]} +2024-10-26 14:21:31,541 - price.py:76 - default_logger - DEBUG - self.margin_config : {'thresholds': [50000, 70000, 100000, 150000, 200000, 300000, 400000, 500000, 1000000], 'additional_margins': [5000, 10000, 15000, 25000, 35000, 50000, 70000, 90000, 120000]} +2024-10-26 14:21:31,541 - price.py:78 - default_logger - DEBUG - self.optimal_price_config : {'sold_price': None, 'cost_price2X': None, 'calculated_price': None, 'lower_bound': 0.85, 'upper_bound': 1.15, 'ratios': {'sold_price': 0.5, 'cost_price2X': 0.3, 'calculated_price': 0.2}} +2024-10-26 14:21:31,541 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:21:31,541 - gui.py:150 - default_logger - DEBUG - 로그기록이 설정되었습니다. +2024-10-26 14:21:35,614 - gui.py:614 - default_logger - DEBUG - 크롬 실행 버튼 클릭됨 +2024-10-26 14:21:35,614 - gui.py:615 - default_logger - DEBUG - self.browser_controller.page : None +2024-10-26 14:21:35,614 - gui.py:651 - default_logger - DEBUG - 크롬 브라우저를 실행합니다... +2024-10-26 14:21:35,614 - browser_control.py:64 - default_logger - DEBUG - 크롬 브라우저 실행 중... +2024-10-26 14:21:36,411 - browser_control.py:80 - default_logger - DEBUG - 브라우저 경로: D:\py\autoTrans\browsers\chromium-1112\chrome-win\chrome.exe +2024-10-26 14:21:36,411 - browser_control.py:81 - default_logger - DEBUG - 확장 프로그램 경로: D:\py\autoTrans\browsers\extensions\1.1.100_0 +2024-10-26 14:21:36,411 - browser_control.py:82 - default_logger - DEBUG - 사용자 폴더 경로: D:\py\autoTrans\browsers\user_data +2024-10-26 14:21:36,411 - browser_control.py:98 - default_logger - DEBUG - user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 12_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15 +2024-10-26 14:21:37,831 - browser_control.py:120 - default_logger - INFO - 새 페이지 로딩 중... +2024-10-26 14:21:43,840 - browser_control.py:123 - default_logger - INFO - percenty.co.kr/signin 로딩 완료 +2024-10-26 14:21:43,899 - browser_control.py:131 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션 +2024-10-26 14:21:43,902 - browser_control.py:138 - default_logger - DEBUG - 크롬 창 핸들: 25691542 +2024-10-26 14:21:43,904 - browser_control.py:144 - default_logger - INFO - 로그인 시도 중: 관리자 계정 +2024-10-26 14:21:44,174 - browser_control.py:162 - default_logger - INFO - 로그인 완료: 관리자 계정 +2024-10-26 14:21:48,990 - browser_control.py:308 - default_logger - INFO - 다이얼로그가 발견되었습니다. 닫기 버튼을 클릭합니다. +2024-10-26 14:21:49,424 - browser_control.py:314 - default_logger - INFO - 다이얼로그를 성공적으로 닫았습니다. +2024-10-26 14:21:49,427 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:21:49,429 - gui.py:675 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중... +2024-10-26 14:21:50,264 - browser_control.py:327 - default_logger - INFO - 신규 상품 등록 페이지로 이동 완료. +2024-10-26 14:21:50,266 - option.py:43 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:21:50,268 - title.py:31 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:21:50,269 - price.py:52 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:22:17,663 - gui.py:732 - default_logger - DEBUG - 번역 작업 버튼 클릭됨 +2024-10-26 14:22:17,663 - gui.py:737 - default_logger - DEBUG - 번역 작업을 시작합니다... +2024-10-26 14:22:17,663 - browser_control.py:762 - default_logger - INFO - 페이지 스크롤 시작... +2024-10-26 14:22:19,554 - browser_control.py:772 - default_logger - INFO - 페이지 스크롤 완료. +2024-10-26 14:22:19,554 - gui.py:859 - default_logger - DEBUG - 번역 작업 중 오류 발생: BrowserController.get_total_product_count() got an unexpected keyword argument 'ed_mode' +Traceback (most recent call last): + File "D:\py\autoTrans\gui.py", line 748, in start_translation + total_products = await self.browser_controller.get_total_product_count(ed_mode=self.toggle_states['ed_mode']) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +TypeError: BrowserController.get_total_product_count() got an unexpected keyword argument 'ed_mode' +2024-10-26 14:22:24,293 - gui.py:867 - default_logger - DEBUG - 프로그램을 종료합니다... +2024-10-26 14:22:24,293 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:26:49,972 - vertexAI.py:18 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: D:\py\autoTrans\leensoo1nt.json +2024-10-26 14:26:49,972 - vertexAI.py:22 - default_logger - DEBUG - Vertex AI 모델 초기화 중... +2024-10-26 14:26:49,988 - vertexAI.py:26 - default_logger - DEBUG - prompt.json 파일을 불러옵니다. +2024-10-26 14:26:49,988 - vertexAI.py:46 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json +2024-10-26 14:26:49,988 - vertexAI.py:50 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다. +2024-10-26 14:26:50,019 - DatabaseManager.py:14 - default_logger - DEBUG - Database engine created with URL: sqlite:///D:\py\autoTrans\userDB.db +2024-10-26 14:26:50,035 - cmb_diag.py:499 - default_logger - DEBUG - DB에서 데이터를 읽어와 테이블을 생성 +2024-10-26 14:26:50,035 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:26:50,066 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT id, category1, category2, category3, category4, crmobi_stage FROM categories WHERE 1=1 with params: {}, result count: 4901 +2024-10-26 14:26:50,441 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:26:50,441 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT stage, threshold, increment_unit, extra_cost FROM crmobi_stages with params: None, result count: 3 +2024-10-26 14:26:50,441 - cmb_diag.py:412 - default_logger - DEBUG - CrMoBi 단계 설정이 위젯에 반영되었습니다. +2024-10-26 14:26:50,441 - cmb_diag.py:256 - default_logger - DEBUG - 1레벨 카테고리를 업데이트 +2024-10-26 14:26:50,457 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:26:50,457 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT DISTINCT category1 FROM categories WHERE category1 IS NOT NULL with params: None, result count: 11 +2024-10-26 14:26:50,457 - price.py:74 - default_logger - DEBUG - self.shipping_config : {'min_price_for_extra_shipping': 50000, 'thresholds': [50000, 100000, 200000], 'increment_unit': 20000, 'additional_costs': [5000, 7000, 9000]} +2024-10-26 14:26:50,457 - price.py:76 - default_logger - DEBUG - self.margin_config : {'thresholds': [50000, 70000, 100000, 150000, 200000, 300000, 400000, 500000, 1000000], 'additional_margins': [5000, 10000, 15000, 25000, 35000, 50000, 70000, 90000, 120000]} +2024-10-26 14:26:50,457 - price.py:78 - default_logger - DEBUG - self.optimal_price_config : {'sold_price': None, 'cost_price2X': None, 'calculated_price': None, 'lower_bound': 0.85, 'upper_bound': 1.15, 'ratios': {'sold_price': 0.5, 'cost_price2X': 0.3, 'calculated_price': 0.2}} +2024-10-26 14:26:50,457 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:26:50,457 - gui.py:150 - default_logger - DEBUG - 로그기록이 설정되었습니다. +2024-10-26 14:26:54,461 - gui.py:614 - default_logger - DEBUG - 크롬 실행 버튼 클릭됨 +2024-10-26 14:26:54,461 - gui.py:615 - default_logger - DEBUG - self.browser_controller.page : None +2024-10-26 14:26:54,461 - gui.py:651 - default_logger - DEBUG - 크롬 브라우저를 실행합니다... +2024-10-26 14:26:54,461 - browser_control.py:64 - default_logger - DEBUG - 크롬 브라우저 실행 중... +2024-10-26 14:26:55,258 - gui.py:614 - default_logger - DEBUG - 크롬 실행 버튼 클릭됨 +2024-10-26 14:26:55,258 - gui.py:615 - default_logger - DEBUG - self.browser_controller.page : None +2024-10-26 14:26:55,258 - gui.py:651 - default_logger - DEBUG - 크롬 브라우저를 실행합니다... +2024-10-26 14:26:55,258 - browser_control.py:64 - default_logger - DEBUG - 크롬 브라우저 실행 중... +2024-10-26 14:26:55,274 - browser_control.py:80 - default_logger - DEBUG - 브라우저 경로: D:\py\autoTrans\browsers\chromium-1112\chrome-win\chrome.exe +2024-10-26 14:26:55,274 - browser_control.py:81 - default_logger - DEBUG - 확장 프로그램 경로: D:\py\autoTrans\browsers\extensions\1.1.100_0 +2024-10-26 14:26:55,274 - browser_control.py:82 - default_logger - DEBUG - 사용자 폴더 경로: D:\py\autoTrans\browsers\user_data +2024-10-26 14:26:55,274 - browser_control.py:98 - default_logger - DEBUG - user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0 +2024-10-26 14:26:56,338 - browser_control.py:80 - default_logger - DEBUG - 브라우저 경로: D:\py\autoTrans\browsers\chromium-1112\chrome-win\chrome.exe +2024-10-26 14:26:56,338 - browser_control.py:81 - default_logger - DEBUG - 확장 프로그램 경로: D:\py\autoTrans\browsers\extensions\1.1.100_0 +2024-10-26 14:26:56,338 - browser_control.py:82 - default_logger - DEBUG - 사용자 폴더 경로: D:\py\autoTrans\browsers\user_data +2024-10-26 14:26:56,357 - browser_control.py:98 - default_logger - DEBUG - user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 +2024-10-26 14:26:56,588 - browser_control.py:120 - default_logger - INFO - 새 페이지 로딩 중... +2024-10-26 14:27:14,111 - browser_control.py:123 - default_logger - INFO - percenty.co.kr/signin 로딩 완료 +2024-10-26 14:27:14,152 - browser_control.py:131 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션 +2024-10-26 14:27:14,161 - browser_control.py:138 - default_logger - DEBUG - 크롬 창 핸들: 67470 +2024-10-26 14:27:14,162 - browser_control.py:144 - default_logger - INFO - 로그인 시도 중: 관리자 계정 +2024-10-26 14:27:15,475 - browser_control.py:162 - default_logger - INFO - 로그인 완료: 관리자 계정 +2024-10-26 14:27:19,935 - browser_control.py:308 - default_logger - INFO - 다이얼로그가 발견되었습니다. 닫기 버튼을 클릭합니다. +2024-10-26 14:27:21,656 - browser_control.py:314 - default_logger - INFO - 다이얼로그를 성공적으로 닫았습니다. +2024-10-26 14:27:21,656 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:27:21,656 - gui.py:675 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중... +2024-10-26 14:27:23,363 - browser_control.py:327 - default_logger - INFO - 신규 상품 등록 페이지로 이동 완료. +2024-10-26 14:27:23,364 - option.py:43 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:27:23,366 - title.py:31 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:27:23,367 - price.py:52 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:27:26,970 - gui.py:732 - default_logger - DEBUG - 번역 작업 버튼 클릭됨 +2024-10-26 14:27:26,970 - gui.py:737 - default_logger - DEBUG - 번역 작업을 시작합니다... +2024-10-26 14:27:26,970 - browser_control.py:762 - default_logger - INFO - 페이지 스크롤 시작... +2024-10-26 14:27:28,295 - browser_control.py:772 - default_logger - INFO - 페이지 스크롤 완료. +2024-10-26 14:27:28,336 - browser_control.py:223 - default_logger - DEBUG - total_count_element : JSHandle@총 597개 상품 +2024-10-26 14:27:28,351 - browser_control.py:229 - default_logger - INFO - 총 상품수 확인: 597 개 +2024-10-26 14:27:28,351 - browser_control.py:236 - default_logger - INFO - 페이지당 상품수 확인: 20 개씩 보기 +2024-10-26 14:27:28,690 - gui.py:859 - default_logger - DEBUG - 번역 작업 중 오류 발생: 'PySide6.QtWidgets.QProgressBar.setMaximum' called with wrong argument types: + PySide6.QtWidgets.QProgressBar.setMaximum(dict) +Supported signatures: + PySide6.QtWidgets.QProgressBar.setMaximum(int) +Traceback (most recent call last): + File "D:\py\autoTrans\gui.py", line 759, in start_translation + self.total_progress_bar.setMaximum(total_products) +TypeError: 'PySide6.QtWidgets.QProgressBar.setMaximum' called with wrong argument types: + PySide6.QtWidgets.QProgressBar.setMaximum(dict) +Supported signatures: + PySide6.QtWidgets.QProgressBar.setMaximum(int) +2024-10-26 14:27:34,656 - gui.py:867 - default_logger - DEBUG - 프로그램을 종료합니다... +2024-10-26 14:27:34,656 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:31:28,290 - vertexAI.py:18 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: D:\py\autoTrans\leensoo1nt.json +2024-10-26 14:31:28,291 - vertexAI.py:22 - default_logger - DEBUG - Vertex AI 모델 초기화 중... +2024-10-26 14:31:28,307 - vertexAI.py:26 - default_logger - DEBUG - prompt.json 파일을 불러옵니다. +2024-10-26 14:31:28,307 - vertexAI.py:46 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json +2024-10-26 14:31:28,307 - vertexAI.py:50 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다. +2024-10-26 14:31:28,357 - DatabaseManager.py:14 - default_logger - DEBUG - Database engine created with URL: sqlite:///D:\py\autoTrans\userDB.db +2024-10-26 14:31:28,373 - cmb_diag.py:499 - default_logger - DEBUG - DB에서 데이터를 읽어와 테이블을 생성 +2024-10-26 14:31:28,374 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:31:28,396 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT id, category1, category2, category3, category4, crmobi_stage FROM categories WHERE 1=1 with params: {}, result count: 4901 +2024-10-26 14:31:28,807 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:31:28,807 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT stage, threshold, increment_unit, extra_cost FROM crmobi_stages with params: None, result count: 3 +2024-10-26 14:31:28,824 - cmb_diag.py:412 - default_logger - DEBUG - CrMoBi 단계 설정이 위젯에 반영되었습니다. +2024-10-26 14:31:28,824 - cmb_diag.py:256 - default_logger - DEBUG - 1레벨 카테고리를 업데이트 +2024-10-26 14:31:28,824 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:31:28,824 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT DISTINCT category1 FROM categories WHERE category1 IS NOT NULL with params: None, result count: 11 +2024-10-26 14:31:28,857 - price.py:74 - default_logger - DEBUG - self.shipping_config : {'min_price_for_extra_shipping': 50000, 'thresholds': [50000, 100000, 200000], 'increment_unit': 20000, 'additional_costs': [5000, 7000, 9000]} +2024-10-26 14:31:28,874 - price.py:76 - default_logger - DEBUG - self.margin_config : {'thresholds': [50000, 70000, 100000, 150000, 200000, 300000, 400000, 500000, 1000000], 'additional_margins': [5000, 10000, 15000, 25000, 35000, 50000, 70000, 90000, 120000]} +2024-10-26 14:31:28,907 - price.py:78 - default_logger - DEBUG - self.optimal_price_config : {'sold_price': None, 'cost_price2X': None, 'calculated_price': None, 'lower_bound': 0.85, 'upper_bound': 1.15, 'ratios': {'sold_price': 0.5, 'cost_price2X': 0.3, 'calculated_price': 0.2}} +2024-10-26 14:31:28,909 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:31:28,916 - gui.py:150 - default_logger - DEBUG - 로그기록이 설정되었습니다. +2024-10-26 14:31:32,722 - gui.py:614 - default_logger - DEBUG - 크롬 실행 버튼 클릭됨 +2024-10-26 14:31:32,722 - gui.py:615 - default_logger - DEBUG - self.browser_controller.page : None +2024-10-26 14:31:32,722 - gui.py:651 - default_logger - DEBUG - 크롬 브라우저를 실행합니다... +2024-10-26 14:31:32,722 - browser_control.py:64 - default_logger - DEBUG - 크롬 브라우저 실행 중... +2024-10-26 14:31:33,606 - browser_control.py:80 - default_logger - DEBUG - 브라우저 경로: D:\py\autoTrans\browsers\chromium-1112\chrome-win\chrome.exe +2024-10-26 14:31:33,606 - browser_control.py:81 - default_logger - DEBUG - 확장 프로그램 경로: D:\py\autoTrans\browsers\extensions\1.1.100_0 +2024-10-26 14:31:33,606 - browser_control.py:82 - default_logger - DEBUG - 사용자 폴더 경로: D:\py\autoTrans\browsers\user_data +2024-10-26 14:31:33,606 - browser_control.py:98 - default_logger - DEBUG - user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 +2024-10-26 14:31:34,986 - browser_control.py:120 - default_logger - INFO - 새 페이지 로딩 중... +2024-10-26 14:31:41,128 - browser_control.py:123 - default_logger - INFO - percenty.co.kr/signin 로딩 완료 +2024-10-26 14:31:41,173 - browser_control.py:131 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션 +2024-10-26 14:31:41,177 - browser_control.py:138 - default_logger - DEBUG - 크롬 창 핸들: 25165882 +2024-10-26 14:31:41,178 - browser_control.py:144 - default_logger - INFO - 로그인 시도 중: 관리자 계정 +2024-10-26 14:31:41,468 - browser_control.py:162 - default_logger - INFO - 로그인 완료: 관리자 계정 +2024-10-26 14:31:46,227 - browser_control.py:308 - default_logger - INFO - 다이얼로그가 발견되었습니다. 닫기 버튼을 클릭합니다. +2024-10-26 14:31:46,685 - browser_control.py:314 - default_logger - INFO - 다이얼로그를 성공적으로 닫았습니다. +2024-10-26 14:31:46,690 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:31:46,691 - gui.py:675 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중... +2024-10-26 14:31:47,604 - browser_control.py:327 - default_logger - INFO - 신규 상품 등록 페이지로 이동 완료. +2024-10-26 14:31:47,606 - option.py:43 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:31:47,607 - title.py:31 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:31:47,609 - price.py:52 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:32:16,403 - gui.py:869 - default_logger - DEBUG - 프로그램을 종료합니다... +2024-10-26 14:32:16,419 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:33:00,453 - vertexAI.py:18 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: D:\py\autoTrans\leensoo1nt.json +2024-10-26 14:33:00,453 - vertexAI.py:22 - default_logger - DEBUG - Vertex AI 모델 초기화 중... +2024-10-26 14:33:00,487 - vertexAI.py:26 - default_logger - DEBUG - prompt.json 파일을 불러옵니다. +2024-10-26 14:33:00,487 - vertexAI.py:46 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json +2024-10-26 14:33:00,487 - vertexAI.py:50 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다. +2024-10-26 14:33:00,541 - DatabaseManager.py:14 - default_logger - DEBUG - Database engine created with URL: sqlite:///D:\py\autoTrans\userDB.db +2024-10-26 14:33:00,557 - cmb_diag.py:499 - default_logger - DEBUG - DB에서 데이터를 읽어와 테이블을 생성 +2024-10-26 14:33:00,558 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:33:00,570 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT id, category1, category2, category3, category4, crmobi_stage FROM categories WHERE 1=1 with params: {}, result count: 4901 +2024-10-26 14:33:00,953 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:33:00,953 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT stage, threshold, increment_unit, extra_cost FROM crmobi_stages with params: None, result count: 3 +2024-10-26 14:33:00,970 - cmb_diag.py:412 - default_logger - DEBUG - CrMoBi 단계 설정이 위젯에 반영되었습니다. +2024-10-26 14:33:00,970 - cmb_diag.py:256 - default_logger - DEBUG - 1레벨 카테고리를 업데이트 +2024-10-26 14:33:00,970 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:33:00,970 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT DISTINCT category1 FROM categories WHERE category1 IS NOT NULL with params: None, result count: 11 +2024-10-26 14:33:00,970 - price.py:74 - default_logger - DEBUG - self.shipping_config : {'min_price_for_extra_shipping': 50000, 'thresholds': [50000, 100000, 200000], 'increment_unit': 20000, 'additional_costs': [5000, 7000, 9000]} +2024-10-26 14:33:00,970 - price.py:76 - default_logger - DEBUG - self.margin_config : {'thresholds': [50000, 70000, 100000, 150000, 200000, 300000, 400000, 500000, 1000000], 'additional_margins': [5000, 10000, 15000, 25000, 35000, 50000, 70000, 90000, 120000]} +2024-10-26 14:33:00,970 - price.py:78 - default_logger - DEBUG - self.optimal_price_config : {'sold_price': None, 'cost_price2X': None, 'calculated_price': None, 'lower_bound': 0.85, 'upper_bound': 1.15, 'ratios': {'sold_price': 0.5, 'cost_price2X': 0.3, 'calculated_price': 0.2}} +2024-10-26 14:33:00,970 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:33:00,970 - gui.py:150 - default_logger - DEBUG - 로그기록이 설정되었습니다. +2024-10-26 14:33:03,858 - gui.py:614 - default_logger - DEBUG - 크롬 실행 버튼 클릭됨 +2024-10-26 14:33:03,858 - gui.py:615 - default_logger - DEBUG - self.browser_controller.page : None +2024-10-26 14:33:03,858 - gui.py:651 - default_logger - DEBUG - 크롬 브라우저를 실행합니다... +2024-10-26 14:33:03,858 - browser_control.py:64 - default_logger - DEBUG - 크롬 브라우저 실행 중... +2024-10-26 14:33:04,755 - browser_control.py:80 - default_logger - DEBUG - 브라우저 경로: D:\py\autoTrans\browsers\chromium-1112\chrome-win\chrome.exe +2024-10-26 14:33:04,756 - browser_control.py:81 - default_logger - DEBUG - 확장 프로그램 경로: D:\py\autoTrans\browsers\extensions\1.1.100_0 +2024-10-26 14:33:04,756 - browser_control.py:82 - default_logger - DEBUG - 사용자 폴더 경로: D:\py\autoTrans\browsers\user_data +2024-10-26 14:33:04,756 - browser_control.py:98 - default_logger - DEBUG - user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 OPR/85.0.0.0 +2024-10-26 14:33:05,986 - browser_control.py:120 - default_logger - INFO - 새 페이지 로딩 중... +2024-10-26 14:33:14,641 - browser_control.py:123 - default_logger - INFO - percenty.co.kr/signin 로딩 완료 +2024-10-26 14:33:14,686 - browser_control.py:131 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션 +2024-10-26 14:33:14,689 - browser_control.py:138 - default_logger - DEBUG - 크롬 창 핸들: 9242968 +2024-10-26 14:33:14,691 - browser_control.py:144 - default_logger - INFO - 로그인 시도 중: 관리자 계정 +2024-10-26 14:33:15,022 - browser_control.py:162 - default_logger - INFO - 로그인 완료: 관리자 계정 +2024-10-26 14:33:18,994 - browser_control.py:308 - default_logger - INFO - 다이얼로그가 발견되었습니다. 닫기 버튼을 클릭합니다. +2024-10-26 14:33:19,200 - browser_control.py:314 - default_logger - INFO - 다이얼로그를 성공적으로 닫았습니다. +2024-10-26 14:33:19,202 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:33:19,203 - gui.py:675 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중... +2024-10-26 14:33:20,237 - browser_control.py:327 - default_logger - INFO - 신규 상품 등록 페이지로 이동 완료. +2024-10-26 14:33:20,239 - option.py:43 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:33:20,240 - title.py:31 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:33:20,242 - price.py:52 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:33:21,586 - gui.py:732 - default_logger - DEBUG - 번역 작업 버튼 클릭됨 +2024-10-26 14:33:21,588 - gui.py:737 - default_logger - DEBUG - 번역 작업을 시작합니다... +2024-10-26 14:33:21,590 - browser_control.py:762 - default_logger - INFO - 페이지 스크롤 시작... +2024-10-26 14:33:23,411 - browser_control.py:772 - default_logger - INFO - 페이지 스크롤 완료. +2024-10-26 14:33:23,473 - browser_control.py:223 - default_logger - DEBUG - total_count_element : JSHandle@총 597개 상품 +2024-10-26 14:33:23,489 - browser_control.py:229 - default_logger - INFO - 총 상품수 확인: 597 개 +2024-10-26 14:33:23,497 - browser_control.py:236 - default_logger - INFO - 페이지당 상품수 확인: 20 개씩 보기 +2024-10-26 14:33:23,497 - gui.py:753 - default_logger - DEBUG - 총 상품 수: 597, 페이지당 상품 수: 20 +2024-10-26 14:33:23,497 - gui.py:770 - default_logger - DEBUG - 현재 페이지: 1 +2024-10-26 14:33:23,519 - browser_control.py:384 - default_logger - INFO - 현재 페이지의 수정할 상품 개수: 20 +2024-10-26 14:33:23,521 - gui.py:788 - default_logger - DEBUG - 1/20 버튼의 활성상태 확인 중... +2024-10-26 14:33:23,534 - gui.py:795 - default_logger - DEBUG - 1/20: 세부사항 수정 작업 중... +2024-10-26 14:33:23,586 - browser_control.py:419 - default_logger - DEBUG - 상품의 '세부사항 수정 및 업로드' 버튼을 화면에 보이도록 스크롤. +2024-10-26 14:33:25,120 - browser_control.py:422 - default_logger - INFO - 세부사항 수정 다이얼로그 열기 완료. +2024-10-26 14:33:26,733 - title.py:91 - default_logger - DEBUG - 원본 상품명을 가져오는 중입니다. +2024-10-26 14:33:26,763 - title.py:94 - default_logger - DEBUG - 원본 상품명: 中频感应熔炼炉小型熔金炉高温融化金银铜铝锡铂金属铸造冶金提炼 +2024-10-26 14:33:27,394 - title.py:179 - default_logger - DEBUG - 마켓 : ss - 카테고리 텍스트를 가져오는 중입니다. +2024-10-26 14:33:27,394 - title.py:188 - default_logger - DEBUG - category_locator : div#productMainContentContainerId div.ant-select.ant-select-outlined.css-1li46mu.ant-select-single.ant-select-show-arrow >> nth=2 +2024-10-26 14:33:27,425 - title.py:192 - default_logger - DEBUG - main_category_element : selector='div#productMainContentContainerId div.ant-select.ant-select-outlined.css-1li46mu.ant-select-single.ant-select-show-arrow >> nth=2'> +2024-10-26 14:33:27,441 - title.py:201 - default_logger - DEBUG - category_text_element : selector='div#productMainContentContainerId div.ant-select.ant-select-outlined.css-1li46mu.ant-select-single.ant-select-show-arrow >> nth=2 >> div.ant-col.css-1li46mu:nth-child(1)'> +2024-10-26 14:33:27,472 - title.py:207 - default_logger - DEBUG - 카테고리 인증 필요 발생 category_text = 인증필요 +2024-10-26 14:33:27,488 - title.py:212 - default_logger - DEBUG - 인증 필요 카테고리 text = 생활/건강-공구-소형기계-기타소형기계 +2024-10-26 14:33:27,503 - title.py:221 - default_logger - DEBUG - 카테고리 text = 생활/건강-공구-소형기계-기타소형기계 +2024-10-26 14:33:27,503 - gui.py:809 - default_logger - DEBUG - 옵션수정 : optionTrnas=True + optionIMGTrans=False + optionAutoSelectTrue +2024-10-26 14:33:28,778 - browser_control.py:439 - default_logger - INFO - 옵션 탭 클릭 완료. +2024-10-26 14:33:28,781 - option.py:161 - default_logger - DEBUG - 상품명: 中频感应熔炼炉小型熔金炉高温融化金银铜铝锡铂金属铸造冶金提炼에 대한 옵션을 처리 중... +2024-10-26 14:33:28,784 - option.py:163 - default_logger - DEBUG - 이전 상품의 옵션정보를 초기화합니다. +2024-10-26 14:33:30,810 - option.py:303 - default_logger - DEBUG - 단일 상품 여부: 옵션 상품입니다 +2024-10-26 14:33:30,810 - option.py:188 - default_logger - DEBUG - 일부 체크된 옵션상품에 대한 처리 방법 : 전체체크에서 시작 +2024-10-26 14:33:30,810 - option.py:191 - default_logger - DEBUG - 옵션이 일부만 체크된 상태입니다. 전체 체크로 바꿉니다. +2024-10-26 14:33:30,835 - option.py:329 - default_logger - DEBUG - aria_checked : mixed---------------- +2024-10-26 14:33:30,841 - option.py:334 - default_logger - DEBUG - 전체 체크박스가 일부만 체크되어 있음 +2024-10-26 14:33:31,131 - option.py:339 - default_logger - DEBUG - 전체 체크박스를 전체 체크 상태로 변경 +2024-10-26 14:33:31,131 - option.py:655 - default_logger - DEBUG - 가격 낮은 순 정렬을 클릭합니다. +2024-10-26 14:33:31,789 - option.py:205 - default_logger - DEBUG - 옵션 AI번역 : True +2024-10-26 14:33:31,856 - option.py:363 - default_logger - DEBUG - 총 옵션 갯수: 9 +2024-10-26 14:33:31,926 - option.py:385 - default_logger - DEBUG - 1번째 original_name_element : JSHandle@配件套餐,优选搭配 +2024-10-26 14:33:31,926 - option.py:386 - default_logger - DEBUG - 1번째 edit_field_element : JSHandle@node +2024-10-26 14:33:31,939 - option.py:387 - default_logger - DEBUG - 1번째 checkbox_element : JSHandle@node +2024-10-26 14:33:31,940 - option.py:388 - default_logger - DEBUG - 1번째 image_element : JSHandle@node +2024-10-26 14:33:31,940 - option.py:389 - default_logger - DEBUG - 1번째 price_element : JSHandle@node +2024-10-26 14:33:31,957 - option.py:409 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:31,957 - option.py:410 - default_logger - DEBUG - 1번째 옵션 checkbox_state : False +2024-10-26 14:33:31,972 - option.py:411 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:31,990 - option.py:420 - default_logger - DEBUG - 1번째 옵션 정보 수집 완료 +2024-10-26 14:33:32,059 - option.py:385 - default_logger - DEBUG - 2번째 original_name_element : JSHandle@2公斤手提式熔金炉 220v (银铜1.3公斤) +2024-10-26 14:33:32,074 - option.py:386 - default_logger - DEBUG - 2번째 edit_field_element : JSHandle@ +2024-10-26 14:33:32,074 - option.py:387 - default_logger - DEBUG - 2번째 checkbox_element : JSHandle@ +2024-10-26 14:33:32,074 - option.py:388 - default_logger - DEBUG - 2번째 image_element : JSHandle@node +2024-10-26 14:33:32,074 - option.py:389 - default_logger - DEBUG - 2번째 price_element : JSHandle@node +2024-10-26 14:33:32,090 - option.py:409 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:32,106 - option.py:410 - default_logger - DEBUG - 2번째 옵션 checkbox_state : False +2024-10-26 14:33:32,107 - option.py:411 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:32,124 - option.py:420 - default_logger - DEBUG - 2번째 옵션 정보 수집 완료 +2024-10-26 14:33:32,190 - option.py:385 - default_logger - DEBUG - 3번째 original_name_element : JSHandle@4公斤手提式熔金炉 220v (银铜2.5公斤) +2024-10-26 14:33:32,190 - option.py:386 - default_logger - DEBUG - 3번째 edit_field_element : JSHandle@ +2024-10-26 14:33:32,205 - option.py:387 - default_logger - DEBUG - 3번째 checkbox_element : JSHandle@ +2024-10-26 14:33:32,206 - option.py:388 - default_logger - DEBUG - 3번째 image_element : JSHandle@node +2024-10-26 14:33:32,207 - option.py:389 - default_logger - DEBUG - 3번째 price_element : JSHandle@node +2024-10-26 14:33:32,224 - option.py:409 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:32,224 - option.py:410 - default_logger - DEBUG - 3번째 옵션 checkbox_state : False +2024-10-26 14:33:32,240 - option.py:411 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:32,257 - option.py:420 - default_logger - DEBUG - 3번째 옵션 정보 수집 완료 +2024-10-26 14:33:32,324 - option.py:385 - default_logger - DEBUG - 4번째 original_name_element : JSHandle@2公斤柜式熔金炉 220v (银铜1.3公斤) +2024-10-26 14:33:32,327 - option.py:386 - default_logger - DEBUG - 4번째 edit_field_element : JSHandle@ +2024-10-26 14:33:32,328 - option.py:387 - default_logger - DEBUG - 4번째 checkbox_element : JSHandle@ +2024-10-26 14:33:32,329 - option.py:388 - default_logger - DEBUG - 4번째 image_element : JSHandle@node +2024-10-26 14:33:32,329 - option.py:389 - default_logger - DEBUG - 4번째 price_element : JSHandle@node +2024-10-26 14:33:32,361 - option.py:409 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:32,361 - option.py:410 - default_logger - DEBUG - 4번째 옵션 checkbox_state : False +2024-10-26 14:33:32,361 - option.py:411 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:32,395 - option.py:420 - default_logger - DEBUG - 4번째 옵션 정보 수집 완료 +2024-10-26 14:33:32,455 - option.py:385 - default_logger - DEBUG - 5번째 original_name_element : JSHandle@4公斤柜式熔金炉 220v (银铜2.5公斤) +2024-10-26 14:33:32,456 - option.py:386 - default_logger - DEBUG - 5번째 edit_field_element : JSHandle@ +2024-10-26 14:33:32,456 - option.py:387 - default_logger - DEBUG - 5번째 checkbox_element : JSHandle@ +2024-10-26 14:33:32,456 - option.py:388 - default_logger - DEBUG - 5번째 image_element : JSHandle@node +2024-10-26 14:33:32,456 - option.py:389 - default_logger - DEBUG - 5번째 price_element : JSHandle@node +2024-10-26 14:33:32,473 - option.py:409 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:32,488 - option.py:410 - default_logger - DEBUG - 5번째 옵션 checkbox_state : False +2024-10-26 14:33:32,489 - option.py:411 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:32,511 - option.py:420 - default_logger - DEBUG - 5번째 옵션 정보 수집 완료 +2024-10-26 14:33:32,565 - option.py:385 - default_logger - DEBUG - 6번째 original_name_element : JSHandle@6公斤手提式熔金炉 380v (银铜3.2公斤) +2024-10-26 14:33:32,565 - option.py:386 - default_logger - DEBUG - 6번째 edit_field_element : JSHandle@ +2024-10-26 14:33:32,573 - option.py:387 - default_logger - DEBUG - 6번째 checkbox_element : JSHandle@ +2024-10-26 14:33:32,575 - option.py:388 - default_logger - DEBUG - 6번째 image_element : JSHandle@ +2024-10-26 14:33:33,256 - option.py:389 - default_logger - DEBUG - 6번째 price_element : JSHandle@node +2024-10-26 14:33:33,294 - option.py:409 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:33,294 - option.py:410 - default_logger - DEBUG - 6번째 옵션 checkbox_state : False +2024-10-26 14:33:33,294 - option.py:411 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:33,328 - option.py:420 - default_logger - DEBUG - 6번째 옵션 정보 수집 완료 +2024-10-26 14:33:33,383 - option.py:385 - default_logger - DEBUG - 7번째 original_name_element : JSHandle@8公斤手提式熔金炉 380v (银铜4.1公斤) +2024-10-26 14:33:33,389 - option.py:386 - default_logger - DEBUG - 7번째 edit_field_element : JSHandle@ +2024-10-26 14:33:33,391 - option.py:387 - default_logger - DEBUG - 7번째 checkbox_element : JSHandle@ +2024-10-26 14:33:33,392 - option.py:388 - default_logger - DEBUG - 7번째 image_element : JSHandle@ +2024-10-26 14:33:33,394 - option.py:389 - default_logger - DEBUG - 7번째 price_element : JSHandle@node +2024-10-26 14:33:33,411 - option.py:409 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:33,411 - option.py:410 - default_logger - DEBUG - 7번째 옵션 checkbox_state : False +2024-10-26 14:33:33,423 - option.py:411 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:33,440 - option.py:420 - default_logger - DEBUG - 7번째 옵션 정보 수집 완료 +2024-10-26 14:33:33,514 - option.py:385 - default_logger - DEBUG - 8번째 original_name_element : JSHandle@6公斤柜式熔金炉 380v (银铜3.2公斤) +2024-10-26 14:33:33,514 - option.py:386 - default_logger - DEBUG - 8번째 edit_field_element : JSHandle@ +2024-10-26 14:33:33,523 - option.py:387 - default_logger - DEBUG - 8번째 checkbox_element : JSHandle@ +2024-10-26 14:33:33,524 - option.py:388 - default_logger - DEBUG - 8번째 image_element : JSHandle@ +2024-10-26 14:33:33,526 - option.py:389 - default_logger - DEBUG - 8번째 price_element : JSHandle@node +2024-10-26 14:33:33,540 - option.py:409 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:33,540 - option.py:410 - default_logger - DEBUG - 8번째 옵션 checkbox_state : False +2024-10-26 14:33:33,555 - option.py:411 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:33,580 - option.py:420 - default_logger - DEBUG - 8번째 옵션 정보 수집 완료 +2024-10-26 14:33:33,639 - option.py:385 - default_logger - DEBUG - 9번째 original_name_element : JSHandle@8公斤柜式熔金炉 380v (银铜4.1公斤) +2024-10-26 14:33:33,639 - option.py:386 - default_logger - DEBUG - 9번째 edit_field_element : JSHandle@ +2024-10-26 14:33:33,639 - option.py:387 - default_logger - DEBUG - 9번째 checkbox_element : JSHandle@ +2024-10-26 14:33:33,639 - option.py:388 - default_logger - DEBUG - 9번째 image_element : JSHandle@node +2024-10-26 14:33:33,655 - option.py:389 - default_logger - DEBUG - 9번째 price_element : JSHandle@node +2024-10-26 14:33:33,677 - option.py:409 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:33,677 - option.py:410 - default_logger - DEBUG - 9번째 옵션 checkbox_state : False +2024-10-26 14:33:33,677 - option.py:411 - default_logger - DEBUG - ============================================= +2024-10-26 14:33:33,706 - option.py:420 - default_logger - DEBUG - 9번째 옵션 정보 수집 완료 +2024-10-26 14:33:33,723 - vertexAI.py:144 - default_logger - DEBUG - 옵션 데이터를 번역 중: {'origin_option_1': '配件套餐,优选搭配', 'origin_option_2': '2公斤手提式熔金炉 220v (银铜1.3公斤)', 'origin_option_3': '4公斤手提式熔金炉 220v (银铜2.5公斤)', 'origin_option_4': '2公斤柜式熔金炉 220v (银铜1.3公斤)', 'origin_option_5': '4公斤柜式熔金炉 220v (银铜2.5公斤)', 'origin_option_6': '6公斤手提式熔金炉 380v (银铜3.2公斤)', 'origin_option_7': '8公斤手提式熔金炉 380v (银铜4.1公斤)', 'origin_option_8': '6公斤柜式熔金炉 380v (银铜3.2公斤)', 'origin_option_9': '8公斤柜式熔金炉 380v (银铜4.1公斤)'} +2024-10-26 14:33:33,726 - vertexAI.py:76 - default_logger - DEBUG - 텍스트에서 특수 문자를 정리 중: 配件套餐,优选搭配 +2024-10-26 14:33:33,728 - vertexAI.py:92 - default_logger - DEBUG - 정리된 텍스트: 配件套餐优选搭配 +2024-10-26 14:33:33,728 - vertexAI.py:76 - default_logger - DEBUG - 텍스트에서 특수 문자를 정리 중: 2公斤手提式熔金炉 220v (银铜1.3公斤) +2024-10-26 14:33:33,728 - vertexAI.py:92 - default_logger - DEBUG - 정리된 텍스트: 2公斤手提式熔金炉 220v 银铜1.3公斤 +2024-10-26 14:33:33,728 - vertexAI.py:76 - default_logger - DEBUG - 텍스트에서 특수 문자를 정리 중: 4公斤手提式熔金炉 220v (银铜2.5公斤) +2024-10-26 14:33:33,728 - vertexAI.py:92 - default_logger - DEBUG - 정리된 텍스트: 4公斤手提式熔金炉 220v 银铜2.5公斤 +2024-10-26 14:33:33,728 - vertexAI.py:76 - default_logger - DEBUG - 텍스트에서 특수 문자를 정리 중: 2公斤柜式熔金炉 220v (银铜1.3公斤) +2024-10-26 14:33:33,728 - vertexAI.py:92 - default_logger - DEBUG - 정리된 텍스트: 2公斤柜式熔金炉 220v 银铜1.3公斤 +2024-10-26 14:33:33,728 - vertexAI.py:76 - default_logger - DEBUG - 텍스트에서 특수 문자를 정리 중: 4公斤柜式熔金炉 220v (银铜2.5公斤) +2024-10-26 14:33:33,739 - vertexAI.py:92 - default_logger - DEBUG - 정리된 텍스트: 4公斤柜式熔金炉 220v 银铜2.5公斤 +2024-10-26 14:33:33,739 - vertexAI.py:76 - default_logger - DEBUG - 텍스트에서 특수 문자를 정리 중: 6公斤手提式熔金炉 380v (银铜3.2公斤) +2024-10-26 14:33:33,739 - vertexAI.py:92 - default_logger - DEBUG - 정리된 텍스트: 6公斤手提式熔金炉 380v 银铜3.2公斤 +2024-10-26 14:33:33,739 - vertexAI.py:76 - default_logger - DEBUG - 텍스트에서 특수 문자를 정리 중: 8公斤手提式熔金炉 380v (银铜4.1公斤) +2024-10-26 14:33:33,739 - vertexAI.py:92 - default_logger - DEBUG - 정리된 텍스트: 8公斤手提式熔金炉 380v 银铜4.1公斤 +2024-10-26 14:33:33,739 - vertexAI.py:76 - default_logger - DEBUG - 텍스트에서 특수 문자를 정리 중: 6公斤柜式熔金炉 380v (银铜3.2公斤) +2024-10-26 14:33:33,739 - vertexAI.py:92 - default_logger - DEBUG - 정리된 텍스트: 6公斤柜式熔金炉 380v 银铜3.2公斤 +2024-10-26 14:33:33,739 - vertexAI.py:76 - default_logger - DEBUG - 텍스트에서 특수 문자를 정리 중: 8公斤柜式熔金炉 380v (银铜4.1公斤) +2024-10-26 14:33:33,739 - vertexAI.py:92 - default_logger - DEBUG - 정리된 텍스트: 8公斤柜式熔金炉 380v 银铜4.1公斤 +2024-10-26 14:33:33,739 - vertexAI.py:148 - default_logger - DEBUG - 정리된 옵션 데이터: {'origin_option_1': '配件套餐优选搭配', 'origin_option_2': '2公斤手提式熔金炉 220v 银铜1.3公斤', 'origin_option_3': '4公斤手提式熔金炉 220v 银铜2.5公斤', 'origin_option_4': '2公斤柜式熔金炉 220v 银铜1.3公斤', 'origin_option_5': '4公斤柜式熔金炉 220v 银铜2.5公斤', 'origin_option_6': '6公斤手提式熔金炉 380v 银铜3.2公斤', 'origin_option_7': '8公斤手提式熔金炉 380v 银铜4.1公斤', 'origin_option_8': '6公斤柜式熔金炉 380v 银铜3.2公斤', 'origin_option_9': '8公斤柜式熔金炉 380v 银铜4.1公斤'} +2024-10-26 14:33:33,739 - vertexAI.py:155 - default_logger - DEBUG - 생성된 프롬프트: 질문은 아래와 같아. + +가공방법 +1. 특수문자가 있을 경우 제거해줘. +2. 원본 상품명 '中频感应熔炼炉小型熔金炉高温融化金银铜铝锡铂金属铸造冶金提炼'을 참고해서, 각 옵션의 이름을 최대한 간결하게, 각 옵션의 특징(제품의 스펙을 나타내는 크기,무게,용량,전압,전류,상품코드등)만 남겨줘. +3. 간결하게 만들어진 각 옵션명을 한국어로 일관되게 번역해줘. 중국어가 남아 있어선 안되! +4. 번역된 옵션 이름 중 같은 이름의 옵션이 있을 경우, 해당옵션들만 원본옵션명에서 특징들을 다시 추출해서 추가해줘. 중국어가 남아 있어선 안되! +5. 가격문의, 문의사항, 견적, 견적문의, 예약금, 선결제, 고객센터 연락 등 옵션명을 바로 알려주지 않고 고객에게 연락을 유도하는 옵션명은 삭제해야 해. +6. 짧은 단어로 대체할수 있는 단어들은 (예시 : 디스플레시 > 화면)의미를 유지한체 짧은 단어로 대체해줘. +7. 번역된 옵션명들은 'trans_option_1': '', 'trans_option_2': '', 'trans_option_3': '', 'trans_option_4': '' 와 같은 형식(json)으로 반환해줘. + +원본 데이터 + 원본옵션명{"origin_option_1": "配件套餐优选搭配", "origin_option_2": "2公斤手提式熔金炉 220v 银铜1.3公斤", "origin_option_3": "4公斤手提式熔金炉 220v 银铜2.5公斤", "origin_option_4": "2公斤柜式熔金炉 220v 银铜1.3公斤", "origin_option_5": "4公斤柜式熔金炉 220v 银铜2.5公斤", "origin_option_6": "6公斤手提式熔金炉 380v 银铜3.2公斤", "origin_option_7": "8公斤手提式熔金炉 380v 银铜4.1公斤", "origin_option_8": "6公斤柜式熔金炉 380v 银铜3.2公斤", "origin_option_9": "8公斤柜式熔金炉 380v 银铜4.1公斤"} +2024-10-26 14:33:33,756 - vertexAI.py:158 - default_logger - DEBUG - Vertex AI 모델에 프롬프트를 전달하여 응답을 기다리는 중... +2024-10-26 14:33:36,013 - vertexAI.py:160 - default_logger - DEBUG - 모델 응답: ```json +{ +"trans_option_1": "부품 패키지", +"trans_option_2": "2kg 휴대용 220V 은/동 1.3kg", +"trans_option_3": "4kg 휴대용 220V 은/동 2.5kg", +"trans_option_4": "2kg 스탠드형 220V 은/동 1.3kg", +"trans_option_5": "4kg 스탠드형 220V 은/동 2.5kg", +"trans_option_6": "6kg 휴대용 380V 은/동 3.2kg", +"trans_option_7": "8kg 휴대용 380V 은/동 4.1kg", +"trans_option_8": "6kg 스탠드형 380V 은/동 3.2kg", +"trans_option_9": "8kg 스탠드형 380V 은/동 4.1kg" +} +``` +2024-10-26 14:33:36,016 - vertexAI.py:168 - default_logger - DEBUG - 응답에서 추출된 JSON 텍스트: { +"trans_option_1": "부품 패키지", +"trans_option_2": "2kg 휴대용 220V 은/동 1.3kg", +"trans_option_3": "4kg 휴대용 220V 은/동 2.5kg", +"trans_option_4": "2kg 스탠드형 220V 은/동 1.3kg", +"trans_option_5": "4kg 스탠드형 220V 은/동 2.5kg", +"trans_option_6": "6kg 휴대용 380V 은/동 3.2kg", +"trans_option_7": "8kg 휴대용 380V 은/동 4.1kg", +"trans_option_8": "6kg 스탠드형 380V 은/동 3.2kg", +"trans_option_9": "8kg 스탠드형 380V 은/동 4.1kg" +} +2024-10-26 14:33:36,019 - vertexAI.py:171 - default_logger - DEBUG - 번역된 데이터: {'trans_option_1': '부품 패키지', 'trans_option_2': '2kg 휴대용 220V 은/동 1.3kg', 'trans_option_3': '4kg 휴대용 220V 은/동 2.5kg', 'trans_option_4': '2kg 스탠드형 220V 은/동 1.3kg', 'trans_option_5': '4kg 스탠드형 220V 은/동 2.5kg', 'trans_option_6': '6kg 휴대용 380V 은/동 3.2kg', 'trans_option_7': '8kg 휴대용 380V 은/동 4.1kg', 'trans_option_8': '6kg 스탠드형 380V 은/동 3.2kg', 'trans_option_9': '8kg 스탠드형 380V 은/동 4.1kg'} +2024-10-26 14:33:36,021 - option.py:211 - default_logger - DEBUG - 번역된 옵션 입력 +2024-10-26 14:33:36,023 - option.py:530 - default_logger - DEBUG - trans_option_1번째 translated_name : 부품 패키지 +2024-10-26 14:33:36,024 - option.py:538 - default_logger - DEBUG - trans_option_1번째 번역옵션 필드 : JSHandle@ +2024-10-26 14:33:36,060 - option.py:542 - default_logger - INFO - trans_option_1번째 translated_name : [부품 패키지] 입력 완료 +2024-10-26 14:33:36,062 - option.py:530 - default_logger - DEBUG - trans_option_2번째 translated_name : 2kg 휴대용 220V 은/동 1.3kg +2024-10-26 14:33:36,064 - option.py:538 - default_logger - DEBUG - trans_option_2번째 번역옵션 필드 : JSHandle@ +2024-10-26 14:33:36,133 - option.py:542 - default_logger - INFO - trans_option_2번째 translated_name : [2kg 휴대용 220V 은/동 1.3kg] 입력 완료 +2024-10-26 14:33:36,135 - option.py:530 - default_logger - DEBUG - trans_option_3번째 translated_name : 4kg 휴대용 220V 은/동 2.5kg +2024-10-26 14:33:36,136 - option.py:538 - default_logger - DEBUG - trans_option_3번째 번역옵션 필드 : JSHandle@ +2024-10-26 14:33:36,217 - option.py:542 - default_logger - INFO - trans_option_3번째 translated_name : [4kg 휴대용 220V 은/동 2.5kg] 입력 완료 +2024-10-26 14:33:36,219 - option.py:530 - default_logger - DEBUG - trans_option_4번째 translated_name : 2kg 스탠드형 220V 은/동 1.3kg +2024-10-26 14:33:36,221 - option.py:538 - default_logger - DEBUG - trans_option_4번째 번역옵션 필드 : JSHandle@ +2024-10-26 14:33:36,315 - option.py:542 - default_logger - INFO - trans_option_4번째 translated_name : [2kg 스탠드형 220V 은/동 1.3kg] 입력 완료 +2024-10-26 14:33:36,316 - option.py:530 - default_logger - DEBUG - trans_option_5번째 translated_name : 4kg 스탠드형 220V 은/동 2.5kg +2024-10-26 14:33:36,318 - option.py:538 - default_logger - DEBUG - trans_option_5번째 번역옵션 필드 : JSHandle@ +2024-10-26 14:33:36,413 - option.py:542 - default_logger - INFO - trans_option_5번째 translated_name : [4kg 스탠드형 220V 은/동 2.5kg] 입력 완료 +2024-10-26 14:33:36,415 - option.py:530 - default_logger - DEBUG - trans_option_6번째 translated_name : 6kg 휴대용 380V 은/동 3.2kg +2024-10-26 14:33:36,416 - option.py:538 - default_logger - DEBUG - trans_option_6번째 번역옵션 필드 : JSHandle@ +2024-10-26 14:33:36,490 - option.py:542 - default_logger - INFO - trans_option_6번째 translated_name : [6kg 휴대용 380V 은/동 3.2kg] 입력 완료 +2024-10-26 14:33:36,492 - option.py:530 - default_logger - DEBUG - trans_option_7번째 translated_name : 8kg 휴대용 380V 은/동 4.1kg +2024-10-26 14:33:36,494 - option.py:538 - default_logger - DEBUG - trans_option_7번째 번역옵션 필드 : JSHandle@ +2024-10-26 14:33:36,569 - option.py:542 - default_logger - INFO - trans_option_7번째 translated_name : [8kg 휴대용 380V 은/동 4.1kg] 입력 완료 +2024-10-26 14:33:36,571 - option.py:530 - default_logger - DEBUG - trans_option_8번째 translated_name : 6kg 스탠드형 380V 은/동 3.2kg +2024-10-26 14:33:36,573 - option.py:538 - default_logger - DEBUG - trans_option_8번째 번역옵션 필드 : JSHandle@ +2024-10-26 14:33:36,650 - option.py:542 - default_logger - INFO - trans_option_8번째 translated_name : [6kg 스탠드형 380V 은/동 3.2kg] 입력 완료 +2024-10-26 14:33:36,652 - option.py:530 - default_logger - DEBUG - trans_option_9번째 translated_name : 8kg 스탠드형 380V 은/동 4.1kg +2024-10-26 14:33:36,654 - option.py:538 - default_logger - DEBUG - trans_option_9번째 번역옵션 필드 : JSHandle@ +2024-10-26 14:33:37,082 - option.py:542 - default_logger - INFO - trans_option_9번째 translated_name : [8kg 스탠드형 380V 은/동 4.1kg] 입력 완료 +2024-10-26 14:33:37,084 - option.py:554 - default_logger - DEBUG - selected_translated_options 일괄 업데이트: {'配件套餐,优选搭配': '부품 패키지', '2公斤手提式熔金炉 220v (银铜1.3公斤)': '2kg 휴대용 220V 은/동 1.3kg', '4公斤手提式熔金炉 220v (银铜2.5公斤)': '4kg 휴대용 220V 은/동 2.5kg', '2公斤柜式熔金炉 220v (银铜1.3公斤)': '2kg 스탠드형 220V 은/동 1.3kg', '4公斤柜式熔金炉 220v (银铜2.5公斤)': '4kg 스탠드형 220V 은/동 2.5kg', '6公斤手提式熔金炉 380v (银铜3.2公斤)': '6kg 휴대용 380V 은/동 3.2kg', '8公斤手提式熔金炉 380v (银铜4.1公斤)': '8kg 휴대용 380V 은/동 4.1kg', '6公斤柜式熔金炉 380v (银铜3.2公斤)': '6kg 스탠드형 380V 은/동 3.2kg', '8公斤柜式熔金炉 380v (银铜4.1公斤)': '8kg 스탠드형 380V 은/동 4.1kg'} +2024-10-26 14:33:37,087 - option.py:247 - default_logger - DEBUG - [VertexAI] 를 이용한 옵션번역 성공 +2024-10-26 14:33:37,090 - option.py:255 - default_logger - DEBUG - 옵션 필터링 및 조정 : True +2024-10-26 14:33:37,095 - option.py:92 - default_logger - DEBUG - 최저옵션: 2271111.111111111, 표준편차: 644524.707645434 +2024-10-26 14:33:37,096 - option.py:102 - default_logger - DEBUG - Option 948000 z-score: -2.052847773586022 +2024-10-26 14:33:37,098 - option.py:102 - default_logger - DEBUG - Option 1622000 z-score: -1.0071159466988193 +2024-10-26 14:33:37,099 - option.py:102 - default_logger - DEBUG - Option 1822000 z-score: -0.696809766613596 +2024-10-26 14:33:37,100 - option.py:102 - default_logger - DEBUG - Option 2271000 z-score: -0.00017239232226940802 +2024-10-26 14:33:37,102 - option.py:102 - default_logger - DEBUG - Option 2496000 z-score: 0.34892206027360695 +2024-10-26 14:33:37,103 - option.py:102 - default_logger - DEBUG - Option 2571000 z-score: 0.4652868778055657 +2024-10-26 14:33:37,104 - option.py:102 - default_logger - DEBUG - Option 2795000 z-score: 0.812829799501016 +2024-10-26 14:33:37,105 - option.py:102 - default_logger - DEBUG - Option 2895000 z-score: 0.9679828895436277 +2024-10-26 14:33:37,107 - option.py:102 - default_logger - DEBUG - Option 3020000 z-score: 1.1619242520968922 +2024-10-26 14:33:37,108 - option.py:106 - default_logger - DEBUG - Z-스코어 필터링: [1822000, 2271000, 2496000, 2571000, 2795000, 2895000, 3020000] +2024-10-26 14:33:37,109 - option.py:114 - default_logger - DEBUG - 필터링된 본품옵션의 최저가: 1822000, 마켓상한선: 3644000 +2024-10-26 14:33:37,110 - option.py:119 - default_logger - DEBUG - 최종 선택된 옵션: [('4公斤手提式熔金炉 220v (银铜2.5公斤)', 1822000), ('2公斤柜式熔金炉 220v (银铜1.3公斤)', 2271000), ('4公斤柜式熔金炉 220v (银铜2.5公斤)', 2496000), ('6公斤手提式熔金炉 380v (银铜3.2公斤)', 2571000), ('8公斤手提式熔金炉 380v (银铜4.1公斤)', 2795000), ('6公斤柜式熔金炉 380v (银铜3.2公斤)', 2895000), ('8公斤柜式熔金炉 380v (银铜4.1公斤)', 3020000)] +2024-10-26 14:33:37,445 - option.py:627 - default_logger - DEBUG - 옵션 이름: 配件套餐,优选搭配, 필터링된 옵션에 포함 여부: False +2024-10-26 14:33:37,899 - option.py:638 - default_logger - DEBUG - 옵션 '配件套餐,优选搭配' 체크 해제함 +2024-10-26 14:33:38,005 - option.py:627 - default_logger - DEBUG - 옵션 이름: 2公斤手提式熔金炉 220v (银铜1.3公斤), 필터링된 옵션에 포함 여부: False +2024-10-26 14:33:38,393 - option.py:638 - default_logger - DEBUG - 옵션 '2公斤手提式熔金炉 220v (银铜1.3公斤)' 체크 해제함 +2024-10-26 14:33:38,418 - option.py:627 - default_logger - DEBUG - 옵션 이름: 4公斤手提式熔金炉 220v (银铜2.5公斤), 필터링된 옵션에 포함 여부: True +2024-10-26 14:33:38,420 - option.py:633 - default_logger - DEBUG - 옵션 '4公斤手提式熔金炉 220v (银铜2.5公斤)' 체크함 +2024-10-26 14:33:38,438 - option.py:627 - default_logger - DEBUG - 옵션 이름: 2公斤柜式熔金炉 220v (银铜1.3公斤), 필터링된 옵션에 포함 여부: True +2024-10-26 14:33:38,438 - option.py:633 - default_logger - DEBUG - 옵션 '2公斤柜式熔金炉 220v (银铜1.3公斤)' 체크함 +2024-10-26 14:33:38,471 - option.py:627 - default_logger - DEBUG - 옵션 이름: 4公斤柜式熔金炉 220v (银铜2.5公斤), 필터링된 옵션에 포함 여부: True +2024-10-26 14:33:38,471 - option.py:633 - default_logger - DEBUG - 옵션 '4公斤柜式熔金炉 220v (银铜2.5公斤)' 체크함 +2024-10-26 14:33:38,488 - option.py:627 - default_logger - DEBUG - 옵션 이름: 6公斤手提式熔金炉 380v (银铜3.2公斤), 필터링된 옵션에 포함 여부: True +2024-10-26 14:33:38,488 - option.py:633 - default_logger - DEBUG - 옵션 '6公斤手提式熔金炉 380v (银铜3.2公斤)' 체크함 +2024-10-26 14:33:38,519 - option.py:627 - default_logger - DEBUG - 옵션 이름: 8公斤手提式熔金炉 380v (银铜4.1公斤), 필터링된 옵션에 포함 여부: True +2024-10-26 14:33:38,521 - option.py:633 - default_logger - DEBUG - 옵션 '8公斤手提式熔金炉 380v (银铜4.1公斤)' 체크함 +2024-10-26 14:33:38,537 - option.py:627 - default_logger - DEBUG - 옵션 이름: 6公斤柜式熔金炉 380v (银铜3.2公斤), 필터링된 옵션에 포함 여부: True +2024-10-26 14:33:38,537 - option.py:633 - default_logger - DEBUG - 옵션 '6公斤柜式熔金炉 380v (银铜3.2公斤)' 체크함 +2024-10-26 14:33:38,570 - option.py:627 - default_logger - DEBUG - 옵션 이름: 8公斤柜式熔金炉 380v (银铜4.1公斤), 필터링된 옵션에 포함 여부: True +2024-10-26 14:33:38,571 - option.py:633 - default_logger - DEBUG - 옵션 '8公斤柜式熔金炉 380v (银铜4.1公斤)' 체크함 +2024-10-26 14:33:38,571 - option.py:641 - default_logger - DEBUG - 옵션 체크 상태 조정 완료. +2024-10-26 14:33:38,571 - option.py:651 - default_logger - DEBUG - 1-99 버튼을 클릭합니다. +2024-10-26 14:33:38,887 - option.py:655 - default_logger - DEBUG - 가격 낮은 순 정렬을 클릭합니다. +2024-10-26 14:33:39,543 - option.py:283 - default_logger - DEBUG - 저장 버튼을 클릭합니다. +2024-10-26 14:33:40,170 - option.py:286 - default_logger - DEBUG - 옵션 처리 완료. +2024-10-26 14:33:40,770 - browser_control.py:591 - default_logger - INFO - 상품 수정 내용 저장 완료. +2024-10-26 14:33:40,770 - gui.py:815 - default_logger - DEBUG - 가격수정 : True +2024-10-26 14:33:42,190 - browser_control.py:447 - default_logger - INFO - 가격 탭 클릭 완료. +2024-10-26 14:33:42,193 - price.py:86 - default_logger - DEBUG - 초기 더하기마진과 해외배송비 가격 정보를 수집합니다. +2024-10-26 14:33:42,347 - price.py:673 - default_logger - DEBUG - 더하기 마진 값: 264000 +2024-10-26 14:33:42,419 - price.py:678 - default_logger - DEBUG - 해외 배송비 값: 559000 +2024-10-26 14:33:42,419 - price.py:92 - default_logger - DEBUG - 더하기마진값264000을 팔린가격264000으로 간주 +2024-10-26 14:33:42,419 - price.py:94 - default_logger - DEBUG - 옵션 가격 정보를 수집하기 위해 옵션가격정렬을 클릭 합니다. +2024-10-26 14:33:42,434 - price.py:809 - default_logger - DEBUG - 가격탭의 옵션탭 순서 정렬 버튼을 클릭합니다. +2024-10-26 14:33:42,885 - price.py:555 - default_logger - DEBUG - 옵션 수: 7 +2024-10-26 14:33:42,885 - price.py:594 - default_logger - DEBUG - collect_product_costs_and_prices 단일옵션 : False +2024-10-26 14:33:43,069 - price.py:618 - default_logger - DEBUG - 1옵션의 cost_value : 4000 +2024-10-26 14:33:43,086 - price.py:622 - default_logger - DEBUG - 1옵션의 price_value : 1821400 +2024-10-26 14:33:43,252 - price.py:618 - default_logger - DEBUG - 2옵션의 cost_value : 5800 +2024-10-26 14:33:43,252 - price.py:622 - default_logger - DEBUG - 2옵션의 price_value : 2270700 +2024-10-26 14:33:43,619 - price.py:618 - default_logger - DEBUG - 3옵션의 cost_value : 6700 +2024-10-26 14:33:43,652 - price.py:622 - default_logger - DEBUG - 3옵션의 price_value : 2495300 +2024-10-26 14:33:43,831 - price.py:618 - default_logger - DEBUG - 4옵션의 cost_value : 7000 +2024-10-26 14:33:43,835 - price.py:622 - default_logger - DEBUG - 4옵션의 price_value : 2570200 +2024-10-26 14:33:44,270 - price.py:618 - default_logger - DEBUG - 5옵션의 cost_value : 7900 +2024-10-26 14:33:44,285 - price.py:622 - default_logger - DEBUG - 5옵션의 price_value : 2794800 +2024-10-26 14:33:44,452 - price.py:618 - default_logger - DEBUG - 6옵션의 cost_value : 8300 +2024-10-26 14:33:44,468 - price.py:622 - default_logger - DEBUG - 6옵션의 price_value : 2894700 +2024-10-26 14:33:44,871 - price.py:618 - default_logger - DEBUG - 7옵션의 cost_value : 8800 +2024-10-26 14:33:44,904 - price.py:622 - default_logger - DEBUG - 7옵션의 price_value : 3019500 +2024-10-26 14:33:44,905 - price.py:647 - default_logger - DEBUG - 상품원가가 모였습니다.: [4000, 5800, 6700, 7000, 7900, 8300, 8800] +2024-10-26 14:33:44,905 - price.py:648 - default_logger - DEBUG - 최소원가: 800000, 최대원가: 1760000, 평균원가: 1386000, 상위평균원가: 1573000 +2024-10-26 14:33:44,905 - price.py:516 - default_logger - DEBUG - 원가에 카드수수료 4.0%, 기본마진 24.0% 적용된 계산원가: 2014000 +2024-10-26 14:33:44,905 - price.py:452 - default_logger - DEBUG - 기존 구간: [50000, 70000, 100000, 150000, 200000, 300000, 400000, 500000, 1000000] +2024-10-26 14:33:44,905 - price.py:453 - default_logger - DEBUG - 기존 추가 마진: [5000, 10000, 15000, 25000, 35000, 50000, 70000, 90000, 120000] +2024-10-26 14:33:44,905 - price.py:469 - default_logger - DEBUG - 확장된 '더하기마진' 구간: 1900000 +2024-10-26 14:33:44,905 - price.py:470 - default_logger - DEBUG - 확장된 '더하기마진' 의 추가 마진: 160000 +2024-10-26 14:33:44,905 - price.py:469 - default_logger - DEBUG - 확장된 '더하기마진' 구간: 3200000 +2024-10-26 14:33:44,905 - price.py:470 - default_logger - DEBUG - 확장된 '더하기마진' 의 추가 마진: 210000 +2024-10-26 14:33:44,918 - price.py:486 - default_logger - DEBUG - 적용된 구간: 3200000, 계산된 마진: 165000 +2024-10-26 14:33:44,918 - price.py:520 - default_logger - DEBUG - 계산원가 기준 해외배송비: 165000 +2024-10-26 14:33:44,918 - price.py:275 - default_logger - DEBUG - 기존 구간: [50000, 100000, 200000] +2024-10-26 14:33:44,918 - price.py:276 - default_logger - DEBUG - 기존 추가 비용: [5000, 7000, 9000] +2024-10-26 14:33:44,918 - price.py:292 - default_logger - DEBUG - 확장된 '해외배송비' 구간: 350000 +2024-10-26 14:33:44,918 - price.py:293 - default_logger - DEBUG - 확장된 '해외배송비' 추가 비용: 11000 +2024-10-26 14:33:44,918 - price.py:292 - default_logger - DEBUG - 확장된 '해외배송비' 구간: 550000 +2024-10-26 14:33:44,918 - price.py:293 - default_logger - DEBUG - 확장된 '해외배송비' 추가 비용: 13000 +2024-10-26 14:33:44,918 - price.py:292 - default_logger - DEBUG - 확장된 '해외배송비' 구간: 800000 +2024-10-26 14:33:44,918 - price.py:293 - default_logger - DEBUG - 확장된 '해외배송비' 추가 비용: 15000 +2024-10-26 14:33:44,918 - price.py:292 - default_logger - DEBUG - 확장된 '해외배송비' 구간: 1100000 +2024-10-26 14:33:44,918 - price.py:293 - default_logger - DEBUG - 확장된 '해외배송비' 추가 비용: 17000 +2024-10-26 14:33:44,934 - price.py:292 - default_logger - DEBUG - 확장된 '해외배송비' 구간: 1450000 +2024-10-26 14:33:44,935 - price.py:293 - default_logger - DEBUG - 확장된 '해외배송비' 추가 비용: 19000 +2024-10-26 14:33:44,935 - price.py:292 - default_logger - DEBUG - 확장된 '해외배송비' 구간: 1850000 +2024-10-26 14:33:44,935 - price.py:293 - default_logger - DEBUG - 확장된 '해외배송비' 추가 비용: 21000 +2024-10-26 14:33:44,935 - price.py:292 - default_logger - DEBUG - 확장된 '해외배송비' 구간: 2300000 +2024-10-26 14:33:44,935 - price.py:293 - default_logger - DEBUG - 확장된 '해외배송비' 추가 비용: 23000 +2024-10-26 14:33:44,935 - price.py:311 - default_logger - DEBUG - 적용된 구간: 100000, 계산된 구간추가배송비: 10000 +2024-10-26 14:33:44,935 - price.py:311 - default_logger - DEBUG - 적용된 구간: 200000, 계산된 구간추가배송비: 35000 +2024-10-26 14:33:44,935 - price.py:311 - default_logger - DEBUG - 적용된 구간: 350000, 계산된 구간추가배송비: 63000 +2024-10-26 14:33:44,935 - price.py:311 - default_logger - DEBUG - 적용된 구간: 550000, 계산된 구간추가배송비: 110000 +2024-10-26 14:33:44,935 - price.py:311 - default_logger - DEBUG - 적용된 구간: 800000, 계산된 구간추가배송비: 156000 +2024-10-26 14:33:44,935 - price.py:311 - default_logger - DEBUG - 적용된 구간: 1100000, 계산된 구간추가배송비: 225000 +2024-10-26 14:33:44,950 - price.py:311 - default_logger - DEBUG - 적용된 구간: 1450000, 계산된 구간추가배송비: 289000 +2024-10-26 14:33:44,952 - price.py:311 - default_logger - DEBUG - 적용된 구간: 1850000, 계산된 구간추가배송비: 380000 +2024-10-26 14:33:44,953 - price.py:306 - default_logger - DEBUG - 적용된 구간: 2300000, 계산된 구간추가배송비: 168000 +2024-10-26 14:33:44,954 - price.py:321 - default_logger - DEBUG - 최종 계산된 배송비: 1446000 +2024-10-26 14:33:44,955 - price.py:524 - default_logger - DEBUG - 계산원가 기준 더하기마진: 1446000 +2024-10-26 14:33:44,957 - price.py:527 - default_logger - DEBUG - 원가기반 가격: 3625000 +2024-10-26 14:33:44,958 - price.py:110 - default_logger - DEBUG - 적정 판매가를 계산합니다. +2024-10-26 14:33:44,958 - price.py:417 - default_logger - DEBUG - 비율 기반 계산된 가격: 1801000, 상한: 3618000, 하한: 2675000 +2024-10-26 14:33:44,958 - price.py:421 - default_logger - DEBUG - 가격이 하한을 밑돌아서 하한으로 조정됨: 2675000 +2024-10-26 14:33:44,958 - price.py:115 - default_logger - DEBUG - 계산된 적정 판매가: 2675000 +2024-10-26 14:33:44,958 - price.py:118 - default_logger - DEBUG - 더하기 마진을 적정 판매가에 맞게 조정합니다. +2024-10-26 14:33:44,958 - price.py:351 - default_logger - DEBUG - 총 옵션 기준 판매가 평균: 2552372 +2024-10-26 14:33:44,958 - price.py:355 - default_logger - DEBUG - 적정 판매가와 기준 판매가 차이: 122628 +2024-10-26 14:33:44,958 - price.py:452 - default_logger - DEBUG - 기존 구간: [50000, 70000, 100000, 150000, 200000, 300000, 400000, 500000, 1000000, 1900000, 3200000] +2024-10-26 14:33:44,967 - price.py:453 - default_logger - DEBUG - 기존 추가 마진: [5000, 10000, 15000, 25000, 35000, 50000, 70000, 90000, 120000, 160000, 210000] +2024-10-26 14:33:44,969 - price.py:486 - default_logger - DEBUG - 적용된 구간: 3200000, 계산된 마진: 190000 +2024-10-26 14:33:44,970 - price.py:121 - default_logger - DEBUG - 조정된 더하기 마진: 203000 +2024-10-26 14:33:44,972 - price.py:275 - default_logger - DEBUG - 기존 구간: [50000, 100000, 200000, 350000, 550000, 800000, 1100000, 1450000, 1850000, 2300000] +2024-10-26 14:33:44,973 - price.py:276 - default_logger - DEBUG - 기존 추가 비용: [5000, 7000, 9000, 11000, 13000, 15000, 17000, 19000, 21000, 23000] +2024-10-26 14:33:44,974 - price.py:311 - default_logger - DEBUG - 적용된 구간: 100000, 계산된 구간추가배송비: 10000 +2024-10-26 14:33:44,975 - price.py:311 - default_logger - DEBUG - 적용된 구간: 200000, 계산된 구간추가배송비: 35000 +2024-10-26 14:33:44,975 - price.py:311 - default_logger - DEBUG - 적용된 구간: 350000, 계산된 구간추가배송비: 63000 +2024-10-26 14:33:44,975 - price.py:306 - default_logger - DEBUG - 적용된 구간: 550000, 계산된 구간추가배송비: 55000.0 +2024-10-26 14:33:44,975 - price.py:321 - default_logger - DEBUG - 최종 계산된 배송비: 173000 +2024-10-26 14:33:44,975 - price.py:127 - default_logger - DEBUG - 적정판매가 기준으로 재계산된 해외배송비: 173000 +2024-10-26 14:33:44,975 - price.py:784 - default_logger - DEBUG - category : 생활/건강-공구-소형기계-기타소형기계 +2024-10-26 14:33:44,984 - cmb_diag.py:887 - default_logger - DEBUG - Parsed category levels - Level 1: 생활/건강, Level 2: 공구, Level 3: 소형기계, Level 4: 기타소형기계 +2024-10-26 14:33:44,986 - cmb_diag.py:898 - default_logger - DEBUG - Executing query to find CMB stage for category: 생활/건강-공구-소형기계-기타소형기계 +2024-10-26 14:33:44,987 - cmb_diag.py:905 - default_logger - DEBUG - Query arguments: {'category1': '생활/건강', 'category2': '공구', 'category3': '소형기계', 'category4': '기타소형기계'} +2024-10-26 14:33:44,987 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:33:44,987 - DatabaseManager.py:64 - default_logger - DEBUG - Fetched one result for query: + SELECT crmobi_stage FROM categories + WHERE (category1 = :category1 OR :category1 IS NULL) + AND (category2 = :category2 OR :category2 IS NULL) + AND (category3 = :category3 OR :category3 IS NULL) + AND (category4 = :category4 OR :category4 IS NULL) + with params: {'category1': '생활/건강', 'category2': '공구', 'category3': '소형기계', 'category4': '기타소형기계'}, result: (2,) +2024-10-26 14:33:44,987 - cmb_diag.py:911 - default_logger - DEBUG - Query result for CMB stage: (2,) +2024-10-26 14:33:44,987 - cmb_diag.py:915 - default_logger - DEBUG - CMB stage found: 2 +2024-10-26 14:33:44,987 - cmb_diag.py:923 - default_logger - DEBUG - Executing query to get stage details for stage: 2 +2024-10-26 14:33:44,987 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:33:45,003 - DatabaseManager.py:64 - default_logger - DEBUG - Fetched one result for query: + SELECT threshold, increment_unit, extra_cost + FROM crmobi_stages + WHERE stage = :stage + with params: {'stage': 2}, result: (150000, 15000, 3000) +2024-10-26 14:33:45,005 - cmb_diag.py:925 - default_logger - DEBUG - Stage details result: (150000, 15000, 3000) +2024-10-26 14:33:45,006 - cmb_diag.py:929 - default_logger - DEBUG - Returning stage details - Threshold: 150000, Increment Unit: 15000, Extra Cost: 3000 +2024-10-26 14:33:45,008 - price.py:796 - default_logger - DEBUG - 생활/건강-공구-소형기계-기타소형기계 카테고리, threshold 150000을 초과하여 추가 해외배송비 504000 추가 적용 +2024-10-26 14:33:45,009 - price.py:801 - default_logger - DEBUG - 총 추가 해외배송비: 504000 +2024-10-26 14:33:45,011 - price.py:132 - default_logger - DEBUG - 카테고리별 추가배송비 기준으로 재계산된 해외배송비: 677000 +2024-10-26 14:33:45,012 - price.py:135 - default_logger - DEBUG - 계산된 값을 페이지에 입력합니다. +2024-10-26 14:33:45,153 - price.py:241 - default_logger - DEBUG - 더하기 마진 입력 완료: 203000 +2024-10-26 14:33:45,473 - price.py:246 - default_logger - DEBUG - 해외 배송비 입력 완료: 677000 +2024-10-26 14:33:45,475 - price.py:217 - default_logger - DEBUG - 계산된 반품비: 199000, 초도배송비: 199000, 교환비: 398000 +2024-10-26 14:33:45,476 - price.py:140 - default_logger - DEBUG - 반품비: 199000, 초도배송비: 199000, 교환비: 398000 +2024-10-26 14:33:45,730 - price.py:168 - default_logger - DEBUG - 반품비 수정 완료: 199000 +2024-10-26 14:33:45,880 - price.py:177 - default_logger - DEBUG - 초도배송비 수정 완료: 199000 +2024-10-26 14:33:46,168 - price.py:186 - default_logger - DEBUG - 교환비 수정 완료: 398000 +2024-10-26 14:33:46,705 - browser_control.py:591 - default_logger - INFO - 상품 수정 내용 저장 완료. +2024-10-26 14:33:46,705 - gui.py:839 - default_logger - DEBUG - 상품 세부사항 저장 중... +2024-10-26 14:33:47,545 - browser_control.py:583 - default_logger - INFO - 상품 수정 내용 저장 및 ECS 완료. +2024-10-26 14:33:47,547 - gui.py:844 - default_logger - DEBUG - 1/[597]개 상품 수정 완료. +2024-10-26 14:33:47,548 - gui.py:788 - default_logger - DEBUG - 2/20 버튼의 활성상태 확인 중... +2024-10-26 14:33:47,583 - gui.py:795 - default_logger - DEBUG - 2/20: 세부사항 수정 작업 중... +2024-10-26 14:33:47,658 - browser_control.py:419 - default_logger - DEBUG - 상품의 '세부사항 수정 및 업로드' 버튼을 화면에 보이도록 스크롤. +2024-10-26 14:33:48,107 - gui.py:869 - default_logger - DEBUG - 프로그램을 종료합니다... +2024-10-26 14:33:48,158 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:34:09,094 - vertexAI.py:18 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: D:\py\autoTrans\leensoo1nt.json +2024-10-26 14:34:09,094 - vertexAI.py:22 - default_logger - DEBUG - Vertex AI 모델 초기화 중... +2024-10-26 14:34:09,192 - vertexAI.py:26 - default_logger - DEBUG - prompt.json 파일을 불러옵니다. +2024-10-26 14:34:09,192 - vertexAI.py:46 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json +2024-10-26 14:34:09,192 - vertexAI.py:50 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다. +2024-10-26 14:34:09,411 - DatabaseManager.py:14 - default_logger - DEBUG - Database engine created with URL: sqlite:///D:\py\autoTrans\userDB.db +2024-10-26 14:34:09,426 - cmb_diag.py:499 - default_logger - DEBUG - DB에서 데이터를 읽어와 테이블을 생성 +2024-10-26 14:34:09,426 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:34:09,484 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT id, category1, category2, category3, category4, crmobi_stage FROM categories WHERE 1=1 with params: {}, result count: 4901 +2024-10-26 14:34:10,008 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:34:10,008 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT stage, threshold, increment_unit, extra_cost FROM crmobi_stages with params: None, result count: 3 +2024-10-26 14:34:10,008 - cmb_diag.py:412 - default_logger - DEBUG - CrMoBi 단계 설정이 위젯에 반영되었습니다. +2024-10-26 14:34:10,008 - cmb_diag.py:256 - default_logger - DEBUG - 1레벨 카테고리를 업데이트 +2024-10-26 14:34:10,008 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:34:10,025 - DatabaseManager.py:77 - default_logger - DEBUG - Fetched all results for query: SELECT DISTINCT category1 FROM categories WHERE category1 IS NOT NULL with params: None, result count: 11 +2024-10-26 14:34:10,025 - price.py:74 - default_logger - DEBUG - self.shipping_config : {'min_price_for_extra_shipping': 50000, 'thresholds': [50000, 100000, 200000], 'increment_unit': 20000, 'additional_costs': [5000, 7000, 9000]} +2024-10-26 14:34:10,025 - price.py:76 - default_logger - DEBUG - self.margin_config : {'thresholds': [50000, 70000, 100000, 150000, 200000, 300000, 400000, 500000, 1000000], 'additional_margins': [5000, 10000, 15000, 25000, 35000, 50000, 70000, 90000, 120000]} +2024-10-26 14:34:10,025 - price.py:78 - default_logger - DEBUG - self.optimal_price_config : {'sold_price': None, 'cost_price2X': None, 'calculated_price': None, 'lower_bound': 0.85, 'upper_bound': 1.15, 'ratios': {'sold_price': 0.5, 'cost_price2X': 0.3, 'calculated_price': 0.2}} +2024-10-26 14:34:10,025 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:34:10,025 - gui.py:150 - default_logger - DEBUG - 로그기록이 설정되었습니다. +2024-10-26 14:34:16,704 - gui.py:614 - default_logger - DEBUG - 크롬 실행 버튼 클릭됨 +2024-10-26 14:34:16,705 - gui.py:615 - default_logger - DEBUG - self.browser_controller.page : None +2024-10-26 14:34:16,705 - gui.py:651 - default_logger - DEBUG - 크롬 브라우저를 실행합니다... +2024-10-26 14:34:16,705 - browser_control.py:64 - default_logger - DEBUG - 크롬 브라우저 실행 중... +2024-10-26 14:34:17,672 - browser_control.py:80 - default_logger - DEBUG - 브라우저 경로: D:\py\autoTrans\browsers\chromium-1112\chrome-win\chrome.exe +2024-10-26 14:34:17,687 - browser_control.py:81 - default_logger - DEBUG - 확장 프로그램 경로: D:\py\autoTrans\browsers\extensions\1.1.100_0 +2024-10-26 14:34:17,688 - browser_control.py:82 - default_logger - DEBUG - 사용자 폴더 경로: D:\py\autoTrans\browsers\user_data +2024-10-26 14:34:17,688 - browser_control.py:98 - default_logger - DEBUG - user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.0.0 +2024-10-26 14:34:18,897 - browser_control.py:120 - default_logger - INFO - 새 페이지 로딩 중... +2024-10-26 14:34:27,647 - browser_control.py:123 - default_logger - INFO - percenty.co.kr/signin 로딩 완료 +2024-10-26 14:34:27,707 - browser_control.py:131 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션 +2024-10-26 14:34:27,711 - browser_control.py:138 - default_logger - DEBUG - 크롬 창 핸들: 262392 +2024-10-26 14:34:27,713 - browser_control.py:144 - default_logger - INFO - 로그인 시도 중: 관리자 계정 +2024-10-26 14:34:27,958 - browser_control.py:162 - default_logger - INFO - 로그인 완료: 관리자 계정 +2024-10-26 14:34:32,983 - browser_control.py:320 - default_logger - ERROR - 다이얼로그가 발견되지 않았거나 오류 발생: Page.wait_for_selector: Timeout 5000ms exceeded. +Call log: +waiting for locator("div[role=\"dialog\"]") to be visible +Traceback (most recent call last): + File "D:\py\autoTrans\browser_control.py", line 307, in close_ad_if_exists + await self.page.wait_for_selector(self.close_ad_dialog_locator, timeout=5000, state='visible') + File "D:\py\autoTrans\Lib\site-packages\playwright\async_api\_generated.py", line 7999, in wait_for_selector + await self._impl_obj.wait_for_selector( + File "D:\py\autoTrans\Lib\site-packages\playwright\_impl\_page.py", line 397, in wait_for_selector + return await self._main_frame.wait_for_selector(**locals_to_params(locals())) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\autoTrans\Lib\site-packages\playwright\_impl\_frame.py", line 323, in wait_for_selector + await self._channel.send("waitForSelector", locals_to_params(locals())) + File "D:\py\autoTrans\Lib\site-packages\playwright\_impl\_connection.py", line 59, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\autoTrans\Lib\site-packages\playwright\_impl\_connection.py", line 514, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded. +Call log: +waiting for locator("div[role=\"dialog\"]") to be visible + +2024-10-26 14:34:32,987 - gui.py:582 - default_logger - DEBUG - Updated watermark text: +2024-10-26 14:34:32,989 - gui.py:675 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중... +2024-10-26 14:34:42,664 - browser_control.py:327 - default_logger - INFO - 신규 상품 등록 페이지로 이동 완료. +2024-10-26 14:34:42,665 - option.py:43 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:34:42,667 - title.py:31 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:34:42,668 - price.py:52 - default_logger - DEBUG - page객체 업데이트 : +2024-10-26 14:34:55,669 - gui.py:732 - default_logger - DEBUG - 번역 작업 버튼 클릭됨 +2024-10-26 14:34:55,669 - gui.py:737 - default_logger - DEBUG - 번역 작업을 시작합니다... +2024-10-26 14:34:55,669 - browser_control.py:762 - default_logger - INFO - 페이지 스크롤 시작... +2024-10-26 14:34:57,218 - browser_control.py:772 - default_logger - INFO - 페이지 스크롤 완료. +2024-10-26 14:34:57,270 - browser_control.py:223 - default_logger - DEBUG - total_count_element : JSHandle@총 144개 상품 +2024-10-26 14:34:57,290 - browser_control.py:229 - default_logger - INFO - 총 상품수 확인: 144 개 +2024-10-26 14:34:57,321 - browser_control.py:236 - default_logger - INFO - 페이지당 상품수 확인: 20 개씩 보기 +2024-10-26 14:34:57,322 - gui.py:753 - default_logger - DEBUG - 총 상품 수: 144, 페이지당 상품 수: 20 +2024-10-26 14:34:57,323 - gui.py:770 - default_logger - DEBUG - 현재 페이지: 1 +2024-10-26 14:34:57,334 - browser_control.py:384 - default_logger - INFO - 현재 페이지의 수정할 상품 개수: 20 +2024-10-26 14:34:57,336 - gui.py:788 - default_logger - DEBUG - 1/20 버튼의 활성상태 확인 중... +2024-10-26 14:34:57,338 - gui.py:795 - default_logger - DEBUG - 1/20: 세부사항 수정 작업 중... +2024-10-26 14:34:57,399 - browser_control.py:419 - default_logger - DEBUG - 상품의 '세부사항 수정 및 업로드' 버튼을 화면에 보이도록 스크롤. +2024-10-26 14:34:58,900 - browser_control.py:422 - default_logger - INFO - 세부사항 수정 다이얼로그 열기 완료. +2024-10-26 14:35:00,529 - title.py:91 - default_logger - DEBUG - 원본 상품명을 가져오는 중입니다. +2024-10-26 14:35:00,553 - title.py:94 - default_logger - DEBUG - 원본 상품명: 狗狗跑步机狗用跑步机训练器中大型犬可调高度边牧金毛宠物跑步机 +2024-10-26 14:35:00,995 - title.py:179 - default_logger - DEBUG - 마켓 : ss - 카테고리 텍스트를 가져오는 중입니다. +2024-10-26 14:35:00,995 - title.py:188 - default_logger - DEBUG - category_locator : div#productMainContentContainerId div.ant-select.ant-select-outlined.css-1li46mu.ant-select-single.ant-select-show-arrow >> nth=2 +2024-10-26 14:35:01,016 - title.py:192 - default_logger - DEBUG - main_category_element : selector='div#productMainContentContainerId div.ant-select.ant-select-outlined.css-1li46mu.ant-select-single.ant-select-show-arrow >> nth=2'> +2024-10-26 14:35:01,031 - title.py:201 - default_logger - DEBUG - category_text_element : selector='div#productMainContentContainerId div.ant-select.ant-select-outlined.css-1li46mu.ant-select-single.ant-select-show-arrow >> nth=2 >> div.ant-col.css-1li46mu:nth-child(1)'> +2024-10-26 14:35:01,063 - title.py:221 - default_logger - DEBUG - 카테고리 text = 반려동물용품-장난감/훈련용품-훈련용품 +2024-10-26 14:35:01,063 - gui.py:809 - default_logger - DEBUG - 옵션수정 : optionTrnas=True + optionIMGTrans=False + optionAutoSelectTrue +2024-10-26 14:35:01,534 - browser_control.py:439 - default_logger - INFO - 옵션 탭 클릭 완료. +2024-10-26 14:35:01,537 - option.py:161 - default_logger - DEBUG - 상품명: 狗狗跑步机狗用跑步机训练器中大型犬可调高度边牧金毛宠物跑步机에 대한 옵션을 처리 중... +2024-10-26 14:35:01,539 - option.py:163 - default_logger - DEBUG - 이전 상품의 옵션정보를 초기화합니다. +2024-10-26 14:35:03,575 - option.py:303 - default_logger - DEBUG - 단일 상품 여부: 단일 상품입니다 +2024-10-26 14:35:03,577 - option.py:180 - default_logger - DEBUG - 단일 옵션 상품입니다. 옵션 수정 과정을 생략합니다. +2024-10-26 14:35:03,886 - browser_control.py:591 - default_logger - INFO - 상품 수정 내용 저장 완료. +2024-10-26 14:35:03,886 - gui.py:815 - default_logger - DEBUG - 가격수정 : True +2024-10-26 14:35:04,832 - browser_control.py:447 - default_logger - INFO - 가격 탭 클릭 완료. +2024-10-26 14:35:04,835 - price.py:86 - default_logger - DEBUG - 초기 더하기마진과 해외배송비 가격 정보를 수집합니다. +2024-10-26 14:35:04,916 - price.py:673 - default_logger - DEBUG - 더하기 마진 값: 10000 +2024-10-26 14:35:04,968 - price.py:678 - default_logger - DEBUG - 해외 배송비 값: 0 +2024-10-26 14:35:04,968 - price.py:94 - default_logger - DEBUG - 옵션 가격 정보를 수집하기 위해 옵션가격정렬을 클릭 합니다. +2024-10-26 14:35:04,968 - price.py:594 - default_logger - DEBUG - collect_product_costs_and_prices 단일옵션 : True +2024-10-26 14:35:05,169 - price.py:618 - default_logger - DEBUG - 1옵션의 cost_value : 999 +2024-10-26 14:35:05,192 - price.py:622 - default_logger - DEBUG - 1옵션의 price_value : 259400 +2024-10-26 14:35:05,202 - price.py:647 - default_logger - DEBUG - 상품원가가 모였습니다.: [999] +2024-10-26 14:35:05,203 - price.py:648 - default_logger - DEBUG - 최소원가: 200000, 최대원가: 200000, 평균원가: 200000, 상위평균원가: 200000 +2024-10-26 14:35:05,203 - price.py:516 - default_logger - DEBUG - 원가에 카드수수료 4.0%, 기본마진 24.0% 적용된 계산원가: 256000 +2024-10-26 14:35:05,203 - price.py:452 - default_logger - DEBUG - 기존 구간: [50000, 70000, 100000, 150000, 200000, 300000, 400000, 500000, 1000000] +2024-10-26 14:35:05,203 - price.py:453 - default_logger - DEBUG - 기존 추가 마진: [5000, 10000, 15000, 25000, 35000, 50000, 70000, 90000, 120000] +2024-10-26 14:35:05,203 - price.py:486 - default_logger - DEBUG - 적용된 구간: 300000, 계산된 마진: 44000 +2024-10-26 14:35:05,203 - price.py:520 - default_logger - DEBUG - 계산원가 기준 해외배송비: 44000 +2024-10-26 14:35:05,203 - price.py:275 - default_logger - DEBUG - 기존 구간: [50000, 100000, 200000] +2024-10-26 14:35:05,203 - price.py:276 - default_logger - DEBUG - 기존 추가 비용: [5000, 7000, 9000] +2024-10-26 14:35:05,203 - price.py:292 - default_logger - DEBUG - 확장된 '해외배송비' 구간: 350000 +2024-10-26 14:35:05,203 - price.py:293 - default_logger - DEBUG - 확장된 '해외배송비' 추가 비용: 11000 +2024-10-26 14:35:05,203 - price.py:311 - default_logger - DEBUG - 적용된 구간: 100000, 계산된 구간추가배송비: 10000 +2024-10-26 14:35:05,218 - price.py:311 - default_logger - DEBUG - 적용된 구간: 200000, 계산된 구간추가배송비: 35000 +2024-10-26 14:35:05,218 - price.py:306 - default_logger - DEBUG - 적용된 구간: 350000, 계산된 구간추가배송비: 18000 +2024-10-26 14:35:05,218 - price.py:321 - default_logger - DEBUG - 최종 계산된 배송비: 73000 +2024-10-26 14:35:05,218 - price.py:524 - default_logger - DEBUG - 계산원가 기준 더하기마진: 73000 +2024-10-26 14:35:05,218 - price.py:527 - default_logger - DEBUG - 원가기반 가격: 373000 +2024-10-26 14:35:05,218 - price.py:110 - default_logger - DEBUG - 적정 판매가를 계산합니다. +2024-10-26 14:35:05,218 - price.py:417 - default_logger - DEBUG - 비율 기반 계산된 가격: 195000, 상한: 460000, 하한: 340000 +2024-10-26 14:35:05,218 - price.py:421 - default_logger - DEBUG - 가격이 하한을 밑돌아서 하한으로 조정됨: 340000 +2024-10-26 14:35:05,218 - price.py:115 - default_logger - DEBUG - 계산된 적정 판매가: 340000 +2024-10-26 14:35:05,218 - price.py:118 - default_logger - DEBUG - 더하기 마진을 적정 판매가에 맞게 조정합니다. +2024-10-26 14:35:05,218 - price.py:351 - default_logger - DEBUG - 총 옵션 기준 판매가 평균: 259400 +2024-10-26 14:35:05,234 - price.py:355 - default_logger - DEBUG - 적정 판매가와 기준 판매가 차이: 80600 +2024-10-26 14:35:05,234 - price.py:452 - default_logger - DEBUG - 기존 구간: [50000, 70000, 100000, 150000, 200000, 300000, 400000, 500000, 1000000] +2024-10-26 14:35:05,234 - price.py:453 - default_logger - DEBUG - 기존 추가 마진: [5000, 10000, 15000, 25000, 35000, 50000, 70000, 90000, 120000] +2024-10-26 14:35:05,234 - price.py:486 - default_logger - DEBUG - 적용된 구간: 400000, 계산된 마진: 58000 +2024-10-26 14:35:05,234 - price.py:121 - default_logger - DEBUG - 조정된 더하기 마진: 67000 +2024-10-26 14:35:05,234 - price.py:275 - default_logger - DEBUG - 기존 구간: [50000, 100000, 200000, 350000] +2024-10-26 14:35:05,234 - price.py:276 - default_logger - DEBUG - 기존 추가 비용: [5000, 7000, 9000, 11000] +2024-10-26 14:35:05,234 - price.py:321 - default_logger - DEBUG - 최종 계산된 배송비: 10000 +2024-10-26 14:35:05,234 - price.py:127 - default_logger - DEBUG - 적정판매가 기준으로 재계산된 해외배송비: 10000 +2024-10-26 14:35:05,234 - price.py:784 - default_logger - DEBUG - category : 반려동물용품-장난감/훈련용품-훈련용품 +2024-10-26 14:35:05,234 - cmb_diag.py:887 - default_logger - DEBUG - Parsed category levels - Level 1: 반려동물용품, Level 2: 장난감/훈련용품, Level 3: 훈련용품, Level 4: None +2024-10-26 14:35:05,234 - cmb_diag.py:898 - default_logger - DEBUG - Executing query to find CMB stage for category: 반려동물용품-장난감/훈련용품-훈련용품 +2024-10-26 14:35:05,249 - cmb_diag.py:905 - default_logger - DEBUG - Query arguments: {'category1': '반려동물용품', 'category2': '장난감/훈련용품', 'category3': '훈련용품', 'category4': None} +2024-10-26 14:35:05,249 - DatabaseManager.py:19 - default_logger - DEBUG - Creating a new database session. +2024-10-26 14:35:05,249 - DatabaseManager.py:64 - default_logger - DEBUG - Fetched one result for query: + SELECT crmobi_stage FROM categories + WHERE (category1 = :category1 OR :category1 IS NULL) + AND (category2 = :category2 OR :category2 IS NULL) + AND (category3 = :category3 OR :category3 IS NULL) + AND (category4 = :category4 OR :category4 IS NULL) + with params: {'category1': '반려동물용품', 'category2': '장난감/훈련용품', 'category3': '훈련용품', 'category4': None}, result: None +2024-10-26 14:35:05,249 - cmb_diag.py:911 - default_logger - DEBUG - Query result for CMB stage: None +2024-10-26 14:35:05,249 - cmb_diag.py:933 - default_logger - DEBUG - No CMB stage found for the given category. +2024-10-26 14:35:05,249 - price.py:799 - default_logger - DEBUG - 카테고리 반려동물용품-장난감/훈련용품-훈련용품는 추가 해외배송비 규칙이 없습니다. 추가 해외배송비는 0으로 설정됩니다. +2024-10-26 14:35:05,249 - price.py:801 - default_logger - DEBUG - 총 추가 해외배송비: 0 +2024-10-26 14:35:05,249 - price.py:132 - default_logger - DEBUG - 카테고리별 추가배송비 기준으로 재계산된 해외배송비: 10000 +2024-10-26 14:35:05,249 - price.py:135 - default_logger - DEBUG - 계산된 값을 페이지에 입력합니다. +2024-10-26 14:35:05,354 - price.py:241 - default_logger - DEBUG - 더하기 마진 입력 완료: 67000 +2024-10-26 14:35:05,519 - price.py:246 - default_logger - DEBUG - 해외 배송비 입력 완료: 10000 +2024-10-26 14:35:05,521 - price.py:217 - default_logger - DEBUG - 계산된 반품비: 199000, 초도배송비: 199000, 교환비: 398000 +2024-10-26 14:35:05,522 - price.py:140 - default_logger - DEBUG - 반품비: 199000, 초도배송비: 199000, 교환비: 398000 +2024-10-26 14:35:05,636 - price.py:168 - default_logger - DEBUG - 반품비 수정 완료: 199000 +2024-10-26 14:35:05,737 - price.py:177 - default_logger - DEBUG - 초도배송비 수정 완료: 199000 +2024-10-26 14:35:05,847 - price.py:186 - default_logger - DEBUG - 교환비 수정 완료: 398000 +2024-10-26 14:35:06,164 - browser_control.py:591 - default_logger - INFO - 상품 수정 내용 저장 완료. +2024-10-26 14:35:06,166 - gui.py:839 - default_logger - DEBUG - 상품 세부사항 저장 중... +2024-10-26 14:35:07,131 - browser_control.py:583 - default_logger - INFO - 상품 수정 내용 저장 및 ECS 완료. +2024-10-26 14:35:07,132 - gui.py:844 - default_logger - DEBUG - 1/[144]개 상품 수정 완료. +2024-10-26 14:35:07,132 - gui.py:788 - default_logger - DEBUG - 2/20 버튼의 활성상태 확인 중... +2024-10-26 14:35:07,155 - gui.py:795 - default_logger - DEBUG - 2/20: 세부사항 수정 작업 중... +2024-10-26 14:35:07,209 - browser_control.py:419 - default_logger - DEBUG - 상품의 '세부사항 수정 및 업로드' 버튼을 화면에 보이도록 스크롤. +2024-10-26 14:35:08,275 - browser_control.py:422 - default_logger - INFO - 세부사항 수정 다이얼로그 열기 완료. +2024-10-26 14:35:09,625 - title.py:91 - default_logger - DEBUG - 원본 상품명을 가져오는 중입니다. +2024-10-26 14:35:09,658 - title.py:94 - default_logger - DEBUG - 원본 상품명: 立裁人台立体裁剪女可调节女半身服装模特道具板房裁缝制衣可插针 +2024-10-26 14:35:09,675 - title.py:179 - default_logger - DEBUG - 마켓 : ss - 카테고리 텍스트를 가져오는 중입니다. +2024-10-26 14:35:09,675 - title.py:188 - default_logger - DEBUG - category_locator : div#productMainContentContainerId div.ant-select.ant-select-outlined.css-1li46mu.ant-select-single.ant-select-show-arrow >> nth=2 +2024-10-26 14:35:09,710 - title.py:192 - default_logger - DEBUG - main_category_element : selector='div#productMainContentContainerId div.ant-select.ant-select-outlined.css-1li46mu.ant-select-single.ant-select-show-arrow >> nth=2'> +2024-10-26 14:35:09,724 - title.py:201 - default_logger - DEBUG - category_text_element : selector='div#productMainContentContainerId div.ant-select.ant-select-outlined.css-1li46mu.ant-select-single.ant-select-show-arrow >> nth=2 >> div.ant-col.css-1li46mu:nth-child(1)'> +2024-10-26 14:35:09,749 - title.py:221 - default_logger - DEBUG - 카테고리 text = 리빙-생활용품-수납정리용품-마네킹 +2024-10-26 14:35:09,749 - gui.py:809 - default_logger - DEBUG - 옵션수정 : optionTrnas=True + optionIMGTrans=False + optionAutoSelectTrue +2024-10-26 14:35:10,071 - browser_control.py:439 - default_logger - INFO - 옵션 탭 클릭 완료. +2024-10-26 14:35:10,073 - option.py:161 - default_logger - DEBUG - 상품명: 立裁人台立体裁剪女可调节女半身服装模特道具板房裁缝制衣可插针에 대한 옵션을 처리 중... +2024-10-26 14:35:10,075 - option.py:163 - default_logger - DEBUG - 이전 상품의 옵션정보를 초기화합니다. +2024-10-26 14:35:10,766 - gui.py:869 - default_logger - DEBUG - 프로그램을 종료합니다... +2024-10-26 14:35:10,782 - gui.py:582 - default_logger - DEBUG - Updated watermark text: diff --git a/browser_control.py b/browser_control.py index d103024e..369816c5 100644 --- a/browser_control.py +++ b/browser_control.py @@ -1,5 +1,5 @@ # from playwright.sync_api import sync_playwright -from playwright.async_api import async_playwright +from playwright.async_api import async_playwright, TimeoutError import re import pyautogui import time @@ -211,31 +211,39 @@ class BrowserController: self.logger.debug(f"상품 수를 가져오는 중 오류 발생: {e}", exc_info=True) return 0 - async def get_total_product_count(self, ed_mode=False): + async def get_total_product_count(self): + total_count = 0 + items_per_page = 0 + try: + # total_count_elements = await self.page.query_selector_all(".sc-dOvA-dm.jqRNYf") + total_count_element = await self.page.query_selector("div#root span:has-text('개 상품')") + items_per_page_element = await self.page.query_selector("div#root [title$='개씩 보기']") - if ed_mode: - counter_locator = self.total_product_count_locator - else: - counter_locator = self.total_product_count_for_registed_locator + self.logger.debug(f"total_count_element : {total_count_element}") + + if total_count_element: + total_count_text = await total_count_element.inner_text() + if "총" in total_count_text and "개 상품" in total_count_text: + total_count = int(''.join(re.findall(r'\d+', total_count_text))) + self.logger.info(f"총 상품수 확인: {total_count} 개") + + # 페이지당 상품 수 추출 + if items_per_page_element: + items_per_page_text = await items_per_page_element.get_attribute("title") + if items_per_page_text and "개씩 보기" in items_per_page_text: + items_per_page = int(''.join(re.findall(r'\d+', items_per_page_text))) + self.logger.info(f"페이지당 상품수 확인: {items_per_page} 개씩 보기") + + # 결과 반환 + if total_count: + return {"total_count": total_count, "items_per_page": items_per_page} + + return {"total_count": 0, "items_per_page": 0} - # Python 변수를 JavaScript로 전달하여 요소의 텍스트를 가져옴 - element_text = await self.page.evaluate(f'''(selector) => {{ - let element = document.querySelector(selector); - return element ? element.innerText : null; - }}''', counter_locator) - - if element_text: - self.logger.info(f"총 상품수 확인: {element_text}") # 텍스트 확인용 로그 - # "총 xx개 상품"에서 숫자만 추출 - count = int(''.join(filter(str.isdigit, element_text))) - return count - else: - self.logger.warning("요소를 찾을 수 없습니다.") - return 0 except Exception as e: self.logger.error(f"상품 수를 가져오는 중 오류 발생: {e}", exc_info=True) - return 0 + return {"total_count": 0, "items_per_page": 0} # def fetch_image_urls_ori(self, html_content): @@ -290,9 +298,8 @@ class BrowserController: self.logger.debug(f"fetch_image_urls 에서 추출한 이미지URL 목록 : {image_urls}") return image_urls - + async def close_ad_if_exists(self): - """광고 다이얼로그가 있으면 닫기 버튼을 클릭하는 메서드""" try: # 광고 다이얼로그가 나타날 때까지 기다림 @@ -307,9 +314,12 @@ class BrowserController: else: self.logger.warning("닫기 버튼을 찾지 못했습니다.") + except TimeoutError: + # 다이얼로그가 없을 때: info 수준의 로그로 기록 + self.logger.info("다이얼로그가 발견되지 않았습니다. 타임아웃이 발생했습니다.") except Exception as e: - # 다이얼로그가 없거나 다른 문제가 발생한 경우 - self.logger.error(f"다이얼로그가 발견되지 않았거나 오류 발생: {e}", exc_info=True) + # 다른 예외 상황 발생 시 error로 기록 + self.logger.error(f"다이얼로그 닫기 중 오류 발생: {e}", exc_info=True) async def go_to_new_product_page(self): """신규 상품 등록 페이지로 이동""" diff --git a/gui.py b/gui.py index d46bf197..369878db 100644 --- a/gui.py +++ b/gui.py @@ -745,14 +745,16 @@ class TranslationApp(QWidget): # 2. 총 상품 수 수집 await self.browser_controller.scroll_page_to_bottom() # 동적 로딩을 위해 끝까지 스크롤 - total_products = await self.browser_controller.get_total_product_count(ed_mode=self.toggle_states['ed_mode']) - if total_products == 0: - self.logger.debug('수집할 상품이 없습니다. 작업을 종료합니다.') - return + # get_total_product_count 메서드 호출 후 결과를 딕셔너리로 받음 + result = await self.browser_controller.get_total_product_count() + # 딕셔너리에서 총 상품 수와 페이지당 상품 수를 추출 + total_products = result.get("total_count", 0) + items_per_page = result.get("items_per_page", 0) + self.logger.debug(f"총 상품 수: {total_products}, 페이지당 상품 수: {items_per_page}") if self.toggle_states['ed_mode']: self.logger.debug('상품정보 수집') - product_infos = self.browser_controller.collect_product_info() + product_infos = await self.browser_controller.collect_product_info(items_per_page) self.logger.debug(f"product_infos : {product_infos}") time.sleep(600) diff --git a/price.py b/price.py index cbd0a48f..2a99cdea 100644 --- a/price.py +++ b/price.py @@ -93,10 +93,11 @@ class PriceHandler: self.logger.debug("옵션 가격 정보를 수집하기 위해 옵션가격정렬을 클릭 합니다.") - await self.ordering_by_option_button_click() - is_single = self.optionHandler.option_info['is_single_option'] + if not is_single: + await self.ordering_by_option_button_click() + option_data, min_cost, max_cost, avg_cost, upper_avg_cost = await self.collect_product_costs_and_prices(is_single) # 수집된 옵션정보를 반환 if option_data is None: self.logger.error("상품 옵션 정보를 수집하지 못했습니다.", exc_info=True)