This commit is contained in:
parent
d52b0b0f37
commit
a39596c96d
|
|
@ -1,5 +1,6 @@
|
||||||
Inclode/
|
Include/
|
||||||
Lib/
|
Lib/
|
||||||
Scripts/
|
Scripts/
|
||||||
|
__pycache__/
|
||||||
pyvenv.cfg
|
pyvenv.cfg
|
||||||
*.log
|
*.log
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -296,3 +296,279 @@
|
||||||
2024-09-25 16:28:45,490 - whale_translator.py:219 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 종료했습니다.
|
2024-09-25 16:28:45,490 - whale_translator.py:219 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 종료했습니다.
|
||||||
2024-09-25 16:28:46,593 - whale_translator.py:238 - default_logger - DEBUG - 남은 가상 데스크톱 수: 1
|
2024-09-25 16:28:46,593 - whale_translator.py:238 - default_logger - DEBUG - 남은 가상 데스크톱 수: 1
|
||||||
2024-09-25 16:28:46,595 - whale_translator.py:240 - default_logger - DEBUG - 모든 가상 데스크톱이 종료되었습니다.
|
2024-09-25 16:28:46,595 - whale_translator.py:240 - default_logger - DEBUG - 모든 가상 데스크톱이 종료되었습니다.
|
||||||
|
2024-09-25 19:02:34,289 - whale_translator.py:106 - default_logger - DEBUG - 가상 데스크톱 2로 전환되었습니다.
|
||||||
|
2024-09-25 19:02:35,291 - whale_translator.py:211 - default_logger - DEBUG - '새 탭 - Whale' 창을 찾았습니다. 종료 중...
|
||||||
|
2024-09-25 19:02:36,294 - whale_translator.py:214 - default_logger - DEBUG - '새 탭 - Whale' 창을 종료했습니다.
|
||||||
|
2024-09-25 19:02:36,294 - whale_translator.py:87 - default_logger - DEBUG - 가상 데스크톱 2가 이미 존재합니다.
|
||||||
|
2024-09-25 19:02:41,233 - whale_translator.py:115 - default_logger - DEBUG - 가상 데스크톱 1로 전환되었습니다.
|
||||||
|
2024-09-25 19:02:42,235 - vertexAI.py:16 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: leensoo1nt.json
|
||||||
|
2024-09-25 19:02:42,235 - vertexAI.py:20 - default_logger - DEBUG - Vertex AI 모델 초기화 중...
|
||||||
|
2024-09-25 19:02:42,246 - vertexAI.py:24 - default_logger - DEBUG - prompt.json 파일을 불러옵니다.
|
||||||
|
2024-09-25 19:02:42,246 - vertexAI.py:35 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json
|
||||||
|
2024-09-25 19:02:42,246 - vertexAI.py:38 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다.
|
||||||
|
2024-09-25 19:02:42,246 - gui.py:61 - default_logger - DEBUG - 로그기록이 설정되었습니다.
|
||||||
|
2024-09-25 19:03:08,439 - gui.py:242 - default_logger - DEBUG - 크롬 브라우저를 실행합니다...
|
||||||
|
2024-09-25 19:03:08,441 - browser_control.py:24 - default_logger - DEBUG - 크롬 브라우저 실행 중...
|
||||||
|
2024-09-25 19:05:29,644 - whale_translator.py:106 - default_logger - DEBUG - 가상 데스크톱 2로 전환되었습니다.
|
||||||
|
2024-09-25 19:05:30,647 - whale_translator.py:216 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 찾았습니다. 종료 중...
|
||||||
|
2024-09-25 19:05:31,648 - whale_translator.py:219 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 종료했습니다.
|
||||||
|
2024-09-25 19:05:31,648 - whale_translator.py:87 - default_logger - DEBUG - 가상 데스크톱 2가 이미 존재합니다.
|
||||||
|
2024-09-25 19:05:36,588 - whale_translator.py:115 - default_logger - DEBUG - 가상 데스크톱 1로 전환되었습니다.
|
||||||
|
2024-09-25 19:05:37,589 - vertexAI.py:16 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: leensoo1nt.json
|
||||||
|
2024-09-25 19:05:37,589 - vertexAI.py:20 - default_logger - DEBUG - Vertex AI 모델 초기화 중...
|
||||||
|
2024-09-25 19:05:37,600 - vertexAI.py:24 - default_logger - DEBUG - prompt.json 파일을 불러옵니다.
|
||||||
|
2024-09-25 19:05:37,600 - vertexAI.py:35 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json
|
||||||
|
2024-09-25 19:05:37,600 - vertexAI.py:38 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다.
|
||||||
|
2024-09-25 19:05:37,600 - gui.py:61 - default_logger - DEBUG - 로그기록이 설정되었습니다.
|
||||||
|
2024-09-25 19:05:53,184 - gui.py:242 - default_logger - DEBUG - 크롬 브라우저를 실행합니다...
|
||||||
|
2024-09-25 19:05:53,185 - browser_control.py:24 - default_logger - DEBUG - 크롬 브라우저 실행 중...
|
||||||
|
2024-09-25 19:19:23,987 - whale_translator.py:106 - default_logger - DEBUG - 가상 데스크톱 2로 전환되었습니다.
|
||||||
|
2024-09-25 19:19:24,989 - whale_translator.py:216 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 찾았습니다. 종료 중...
|
||||||
|
2024-09-25 19:19:25,991 - whale_translator.py:219 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 종료했습니다.
|
||||||
|
2024-09-25 19:19:25,991 - whale_translator.py:87 - default_logger - DEBUG - 가상 데스크톱 2가 이미 존재합니다.
|
||||||
|
2024-09-25 19:19:30,980 - whale_translator.py:115 - default_logger - DEBUG - 가상 데스크톱 1로 전환되었습니다.
|
||||||
|
2024-09-25 19:19:31,981 - vertexAI.py:16 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: leensoo1nt.json
|
||||||
|
2024-09-25 19:19:31,981 - vertexAI.py:20 - default_logger - DEBUG - Vertex AI 모델 초기화 중...
|
||||||
|
2024-09-25 19:19:31,996 - vertexAI.py:24 - default_logger - DEBUG - prompt.json 파일을 불러옵니다.
|
||||||
|
2024-09-25 19:19:31,996 - vertexAI.py:35 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json
|
||||||
|
2024-09-25 19:19:31,996 - vertexAI.py:38 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다.
|
||||||
|
2024-09-25 19:19:31,997 - gui.py:61 - default_logger - DEBUG - 로그기록이 설정되었습니다.
|
||||||
|
2024-09-25 19:19:34,984 - gui.py:242 - default_logger - DEBUG - 크롬 브라우저를 실행합니다...
|
||||||
|
2024-09-25 19:19:34,985 - browser_control.py:24 - default_logger - DEBUG - 크롬 브라우저 실행 중...
|
||||||
|
2024-09-25 19:19:40,951 - browser_control.py:39 - default_logger - DEBUG - newPage 로딩 ...
|
||||||
|
2024-09-25 19:19:40,967 - browser_control.py:44 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션
|
||||||
|
2024-09-25 19:19:40,970 - browser_control.py:51 - default_logger - DEBUG - 크롬 창 핸들: 2036038
|
||||||
|
2024-09-25 19:19:42,325 - browser_control.py:57 - default_logger - DEBUG - 로그인 시도 중: 직원 계정
|
||||||
|
2024-09-25 19:19:42,550 - browser_control.py:75 - default_logger - DEBUG - 로그인 완료: 직원 계정
|
||||||
|
2024-09-25 19:19:45,571 - browser_control.py:262 - default_logger - DEBUG - 다이얼로그가 발견되지 않았거나 오류 발생: Page.wait_for_selector: Timeout 3000ms exceeded.
|
||||||
|
Call log:
|
||||||
|
waiting for locator("div.ant-modal-wrap.ant-modal-centered") to be visible
|
||||||
|
|
||||||
|
2024-09-25 19:20:15,946 - whale_translator.py:106 - default_logger - DEBUG - 가상 데스크톱 2로 전환되었습니다.
|
||||||
|
2024-09-25 19:20:16,947 - whale_translator.py:216 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 찾았습니다. 종료 중...
|
||||||
|
2024-09-25 19:20:17,949 - whale_translator.py:219 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 종료했습니다.
|
||||||
|
2024-09-25 19:20:17,949 - whale_translator.py:87 - default_logger - DEBUG - 가상 데스크톱 2가 이미 존재합니다.
|
||||||
|
2024-09-25 19:20:22,909 - whale_translator.py:115 - default_logger - DEBUG - 가상 데스크톱 1로 전환되었습니다.
|
||||||
|
2024-09-25 19:20:23,910 - vertexAI.py:16 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: leensoo1nt.json
|
||||||
|
2024-09-25 19:20:23,910 - vertexAI.py:20 - default_logger - DEBUG - Vertex AI 모델 초기화 중...
|
||||||
|
2024-09-25 19:20:23,920 - vertexAI.py:24 - default_logger - DEBUG - prompt.json 파일을 불러옵니다.
|
||||||
|
2024-09-25 19:20:23,921 - vertexAI.py:35 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json
|
||||||
|
2024-09-25 19:20:23,921 - vertexAI.py:38 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다.
|
||||||
|
2024-09-25 19:20:23,922 - gui.py:61 - default_logger - DEBUG - 로그기록이 설정되었습니다.
|
||||||
|
2024-09-25 19:20:49,528 - gui.py:242 - default_logger - DEBUG - 크롬 브라우저를 실행합니다...
|
||||||
|
2024-09-25 19:20:49,530 - browser_control.py:24 - default_logger - DEBUG - 크롬 브라우저 실행 중...
|
||||||
|
2024-09-25 19:20:53,855 - browser_control.py:39 - default_logger - DEBUG - newPage 로딩 ...
|
||||||
|
2024-09-25 19:20:53,865 - browser_control.py:44 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션
|
||||||
|
2024-09-25 19:20:53,868 - browser_control.py:51 - default_logger - DEBUG - 크롬 창 핸들: 5048212
|
||||||
|
2024-09-25 19:20:55,641 - browser_control.py:57 - default_logger - DEBUG - 로그인 시도 중: 직원 계정
|
||||||
|
2024-09-25 19:20:55,891 - browser_control.py:75 - default_logger - DEBUG - 로그인 완료: 직원 계정
|
||||||
|
2024-09-25 19:20:58,087 - browser_control.py:250 - default_logger - DEBUG - 다이얼로그가 발견되었습니다. 닫기 버튼을 클릭합니다.
|
||||||
|
2024-09-25 19:20:58,161 - browser_control.py:256 - default_logger - DEBUG - 다이얼로그를 성공적으로 닫았습니다.
|
||||||
|
2024-09-25 19:21:02,849 - gui.py:304 - default_logger - DEBUG - 번역 작업을 시작합니다...
|
||||||
|
2024-09-25 19:21:02,851 - gui.py:309 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중...
|
||||||
|
2024-09-25 19:21:03,139 - browser_control.py:268 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 완료.
|
||||||
|
2024-09-25 19:21:03,199 - gui.py:315 - default_logger - DEBUG - 수집할 상품이 없습니다. 작업을 종료합니다.
|
||||||
|
2024-09-25 19:21:11,542 - gui.py:304 - default_logger - DEBUG - 번역 작업을 시작합니다...
|
||||||
|
2024-09-25 19:21:11,543 - gui.py:309 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중...
|
||||||
|
2024-09-25 19:21:11,690 - browser_control.py:268 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 완료.
|
||||||
|
2024-09-25 19:21:11,697 - gui.py:325 - default_logger - DEBUG - 현재 페이지: 1
|
||||||
|
2024-09-25 19:21:11,703 - browser_control.py:543 - default_logger - DEBUG - 페이지 스크롤 시작...
|
||||||
|
2024-09-25 19:21:14,733 - browser_control.py:553 - default_logger - DEBUG - 페이지 스크롤 완료.
|
||||||
|
2024-09-25 19:21:14,742 - browser_control.py:289 - default_logger - DEBUG - 수정할 상품 개수: 20
|
||||||
|
2024-09-25 19:21:14,743 - gui.py:340 - default_logger - DEBUG - 1/20: 세부사항 수정 작업 중...
|
||||||
|
2024-09-25 19:21:14,788 - browser_control.py:303 - default_logger - DEBUG - 상품의 '세부사항 수정 및 업로드' 버튼을 화면에 보이도록 스크롤.
|
||||||
|
2024-09-25 19:21:15,196 - browser_control.py:306 - default_logger - DEBUG - 세부사항 수정 다이얼로그 열기 완료.
|
||||||
|
2024-09-25 19:21:15,462 - browser_control.py:323 - default_logger - DEBUG - 옵션 탭 클릭 완료.
|
||||||
|
2024-09-25 19:21:15,464 - gui.py:380 - default_logger - DEBUG - 번역 작업 중 오류 발생: OptionHandler.process_options() takes 1 positional argument but 2 were given
|
||||||
|
2024-09-25 23:28:01,460 - whale_translator.py:106 - default_logger - DEBUG - 가상 데스크톱 2로 전환되었습니다.
|
||||||
|
2024-09-25 23:28:02,465 - whale_translator.py:216 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 찾았습니다. 종료 중...
|
||||||
|
2024-09-25 23:28:03,468 - whale_translator.py:219 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 종료했습니다.
|
||||||
|
2024-09-25 23:28:03,468 - whale_translator.py:87 - default_logger - DEBUG - 가상 데스크톱 2가 이미 존재합니다.
|
||||||
|
2024-09-25 23:28:09,789 - whale_translator.py:115 - default_logger - DEBUG - 가상 데스크톱 1로 전환되었습니다.
|
||||||
|
2024-09-25 23:28:10,790 - vertexAI.py:16 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: leensoo1nt.json
|
||||||
|
2024-09-25 23:28:10,790 - vertexAI.py:20 - default_logger - DEBUG - Vertex AI 모델 초기화 중...
|
||||||
|
2024-09-25 23:28:10,810 - vertexAI.py:24 - default_logger - DEBUG - prompt.json 파일을 불러옵니다.
|
||||||
|
2024-09-25 23:28:10,810 - vertexAI.py:35 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json
|
||||||
|
2024-09-25 23:28:10,810 - vertexAI.py:38 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다.
|
||||||
|
2024-09-25 23:28:10,810 - gui.py:61 - default_logger - DEBUG - 로그기록이 설정되었습니다.
|
||||||
|
2024-09-25 23:28:15,370 - gui.py:242 - default_logger - DEBUG - 크롬 브라우저를 실행합니다...
|
||||||
|
2024-09-25 23:28:15,371 - browser_control.py:24 - default_logger - DEBUG - 크롬 브라우저 실행 중...
|
||||||
|
2024-09-25 23:28:19,985 - browser_control.py:39 - default_logger - DEBUG - newPage 로딩 ...
|
||||||
|
2024-09-25 23:28:19,997 - browser_control.py:44 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션
|
||||||
|
2024-09-25 23:28:19,998 - browser_control.py:51 - default_logger - DEBUG - 크롬 창 핸들: 3672630
|
||||||
|
2024-09-25 23:28:21,681 - browser_control.py:57 - default_logger - DEBUG - 로그인 시도 중: 직원 계정
|
||||||
|
2024-09-25 23:28:21,884 - browser_control.py:75 - default_logger - DEBUG - 로그인 완료: 직원 계정
|
||||||
|
2024-09-25 23:28:23,656 - browser_control.py:250 - default_logger - DEBUG - 다이얼로그가 발견되었습니다. 닫기 버튼을 클릭합니다.
|
||||||
|
2024-09-25 23:28:23,999 - browser_control.py:256 - default_logger - DEBUG - 다이얼로그를 성공적으로 닫았습니다.
|
||||||
|
2024-09-25 23:28:30,006 - gui.py:304 - default_logger - DEBUG - 번역 작업을 시작합니다...
|
||||||
|
2024-09-25 23:28:30,008 - gui.py:309 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중...
|
||||||
|
2024-09-25 23:28:30,312 - browser_control.py:268 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 완료.
|
||||||
|
2024-09-25 23:28:30,312 - browser_control.py:543 - default_logger - DEBUG - 페이지 스크롤 시작...
|
||||||
|
2024-09-25 23:28:34,417 - browser_control.py:553 - default_logger - DEBUG - 페이지 스크롤 완료.
|
||||||
|
2024-09-25 23:28:34,417 - gui.py:326 - default_logger - DEBUG - 현재 페이지: 1
|
||||||
|
2024-09-25 23:28:34,417 - browser_control.py:543 - default_logger - DEBUG - 페이지 스크롤 시작...
|
||||||
|
2024-09-25 23:28:35,441 - browser_control.py:553 - default_logger - DEBUG - 페이지 스크롤 완료.
|
||||||
|
2024-09-25 23:28:35,452 - browser_control.py:289 - default_logger - DEBUG - 수정할 상품 개수: 20
|
||||||
|
2024-09-25 23:28:35,454 - gui.py:341 - default_logger - DEBUG - 1/20: 세부사항 수정 작업 중...
|
||||||
|
2024-09-25 23:28:35,507 - browser_control.py:303 - default_logger - DEBUG - 상품의 '세부사항 수정 및 업로드' 버튼을 화면에 보이도록 스크롤.
|
||||||
|
2024-09-25 23:28:36,130 - browser_control.py:306 - default_logger - DEBUG - 세부사항 수정 다이얼로그 열기 완료.
|
||||||
|
2024-09-25 23:28:37,534 - browser_control.py:323 - default_logger - DEBUG - 옵션 탭 클릭 완료.
|
||||||
|
2024-09-25 23:28:37,535 - gui.py:381 - default_logger - DEBUG - 번역 작업 중 오류 발생: OptionHandler.process_options() takes 1 positional argument but 2 were given
|
||||||
|
2024-09-25 23:28:48,086 - gui.py:385 - default_logger - DEBUG - 번역 작업을 중단합니다...
|
||||||
|
2024-09-25 23:32:09,360 - gui.py:389 - default_logger - DEBUG - 프로그램을 종료합니다...
|
||||||
|
2024-09-25 23:32:09,585 - browser_control.py:87 - default_logger - DEBUG - 브라우저 종료됨.
|
||||||
|
2024-09-25 23:32:09,593 - whale_translator.py:216 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 찾았습니다. 종료 중...
|
||||||
|
2024-09-25 23:32:10,595 - whale_translator.py:219 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 종료했습니다.
|
||||||
|
2024-09-25 23:32:11,700 - whale_translator.py:238 - default_logger - DEBUG - 남은 가상 데스크톱 수: 1
|
||||||
|
2024-09-25 23:32:11,702 - whale_translator.py:240 - default_logger - DEBUG - 모든 가상 데스크톱이 종료되었습니다.
|
||||||
|
2024-09-25 23:32:54,334 - whale_translator.py:82 - default_logger - DEBUG - 가상 데스크톱 2가 생성되었습니다.
|
||||||
|
2024-09-25 23:33:00,280 - whale_translator.py:115 - default_logger - DEBUG - 가상 데스크톱 1로 전환되었습니다.
|
||||||
|
2024-09-25 23:33:01,281 - vertexAI.py:16 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: leensoo1nt.json
|
||||||
|
2024-09-25 23:33:01,281 - vertexAI.py:20 - default_logger - DEBUG - Vertex AI 모델 초기화 중...
|
||||||
|
2024-09-25 23:33:01,281 - vertexAI.py:24 - default_logger - DEBUG - prompt.json 파일을 불러옵니다.
|
||||||
|
2024-09-25 23:33:01,281 - vertexAI.py:35 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json
|
||||||
|
2024-09-25 23:33:01,281 - vertexAI.py:38 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다.
|
||||||
|
2024-09-25 23:33:01,292 - gui.py:61 - default_logger - DEBUG - 로그기록이 설정되었습니다.
|
||||||
|
2024-09-25 23:33:03,764 - gui.py:242 - default_logger - DEBUG - 크롬 브라우저를 실행합니다...
|
||||||
|
2024-09-25 23:33:03,768 - browser_control.py:24 - default_logger - DEBUG - 크롬 브라우저 실행 중...
|
||||||
|
2024-09-25 23:33:07,915 - browser_control.py:39 - default_logger - DEBUG - newPage 로딩 ...
|
||||||
|
2024-09-25 23:33:07,926 - browser_control.py:44 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션
|
||||||
|
2024-09-25 23:33:07,929 - browser_control.py:51 - default_logger - DEBUG - 크롬 창 핸들: 526984
|
||||||
|
2024-09-25 23:33:09,236 - browser_control.py:57 - default_logger - DEBUG - 로그인 시도 중: 직원 계정
|
||||||
|
2024-09-25 23:33:09,448 - browser_control.py:75 - default_logger - DEBUG - 로그인 완료: 직원 계정
|
||||||
|
2024-09-25 23:33:11,211 - browser_control.py:250 - default_logger - DEBUG - 다이얼로그가 발견되었습니다. 닫기 버튼을 클릭합니다.
|
||||||
|
2024-09-25 23:33:11,430 - browser_control.py:256 - default_logger - DEBUG - 다이얼로그를 성공적으로 닫았습니다.
|
||||||
|
2024-09-25 23:33:15,986 - gui.py:304 - default_logger - DEBUG - 번역 작업을 시작합니다...
|
||||||
|
2024-09-25 23:33:15,988 - gui.py:309 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중...
|
||||||
|
2024-09-25 23:33:16,235 - browser_control.py:268 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 완료.
|
||||||
|
2024-09-25 23:33:16,237 - browser_control.py:543 - default_logger - DEBUG - 페이지 스크롤 시작...
|
||||||
|
2024-09-25 23:33:20,338 - browser_control.py:553 - default_logger - DEBUG - 페이지 스크롤 완료.
|
||||||
|
2024-09-25 23:33:20,343 - gui.py:326 - default_logger - DEBUG - 현재 페이지: 1
|
||||||
|
2024-09-25 23:33:20,349 - browser_control.py:543 - default_logger - DEBUG - 페이지 스크롤 시작...
|
||||||
|
2024-09-25 23:33:21,360 - browser_control.py:553 - default_logger - DEBUG - 페이지 스크롤 완료.
|
||||||
|
2024-09-25 23:33:21,369 - browser_control.py:289 - default_logger - DEBUG - 수정할 상품 개수: 20
|
||||||
|
2024-09-25 23:33:21,370 - gui.py:341 - default_logger - DEBUG - 1/20: 세부사항 수정 작업 중...
|
||||||
|
2024-09-25 23:33:21,425 - browser_control.py:303 - default_logger - DEBUG - 상품의 '세부사항 수정 및 업로드' 버튼을 화면에 보이도록 스크롤.
|
||||||
|
2024-09-25 23:33:22,051 - browser_control.py:306 - default_logger - DEBUG - 세부사항 수정 다이얼로그 열기 완료.
|
||||||
|
2024-09-25 23:33:23,328 - browser_control.py:323 - default_logger - DEBUG - 옵션 탭 클릭 완료.
|
||||||
|
2024-09-25 23:33:23,330 - option.py:58 - default_logger - DEBUG - 단일 옵션 확인 중 오류 발생: 'NoneType' object has no attribute 'query_selector'
|
||||||
|
2024-09-25 23:33:23,332 - option.py:70 - default_logger - DEBUG - 전체 옵션 체크박스 확인 중 오류 발생: 'NoneType' object has no attribute 'query_selector'
|
||||||
|
2024-09-25 23:33:23,333 - option.py:17 - default_logger - DEBUG - 옵션이 일부만 체크된 상태입니다. 옵션 수정이 완료된 상품으로 판단하여 패스합니다.
|
||||||
|
2024-09-25 23:33:23,336 - gui.py:439 - default_logger - DEBUG - 상품 세부사항 저장 중...
|
||||||
|
2024-09-25 23:33:23,857 - browser_control.py:396 - default_logger - DEBUG - 상품 수정 내용 저장 완료.
|
||||||
|
2024-09-25 23:33:53,984 - browser_control.py:317 - default_logger - DEBUG - 상세페이지 탭 클릭 중 오류: Page.click: Timeout 30000ms exceeded.
|
||||||
|
Call log:
|
||||||
|
waiting for locator("div.ant-tabs-tab:has-text(\"상세페이지\")")
|
||||||
|
|
||||||
|
2024-09-25 23:37:19,699 - whale_translator.py:106 - default_logger - DEBUG - 가상 데스크톱 2로 전환되었습니다.
|
||||||
|
2024-09-25 23:37:20,700 - whale_translator.py:216 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 찾았습니다. 종료 중...
|
||||||
|
2024-09-25 23:37:21,702 - whale_translator.py:219 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 종료했습니다.
|
||||||
|
2024-09-25 23:37:21,702 - whale_translator.py:87 - default_logger - DEBUG - 가상 데스크톱 2가 이미 존재합니다.
|
||||||
|
2024-09-25 23:37:26,675 - whale_translator.py:115 - default_logger - DEBUG - 가상 데스크톱 1로 전환되었습니다.
|
||||||
|
2024-09-25 23:37:27,676 - vertexAI.py:16 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: leensoo1nt.json
|
||||||
|
2024-09-25 23:37:27,676 - vertexAI.py:20 - default_logger - DEBUG - Vertex AI 모델 초기화 중...
|
||||||
|
2024-09-25 23:37:27,687 - vertexAI.py:24 - default_logger - DEBUG - prompt.json 파일을 불러옵니다.
|
||||||
|
2024-09-25 23:37:27,687 - vertexAI.py:35 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json
|
||||||
|
2024-09-25 23:37:27,687 - vertexAI.py:38 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다.
|
||||||
|
2024-09-25 23:37:27,688 - gui.py:61 - default_logger - DEBUG - 로그기록이 설정되었습니다.
|
||||||
|
2024-09-25 23:37:29,597 - gui.py:242 - default_logger - DEBUG - 크롬 브라우저를 실행합니다...
|
||||||
|
2024-09-25 23:37:29,597 - browser_control.py:24 - default_logger - DEBUG - 크롬 브라우저 실행 중...
|
||||||
|
2024-09-25 23:37:34,655 - browser_control.py:39 - default_logger - DEBUG - newPage 로딩 ...
|
||||||
|
2024-09-25 23:37:34,672 - browser_control.py:44 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션
|
||||||
|
2024-09-25 23:37:34,676 - browser_control.py:51 - default_logger - DEBUG - 크롬 창 핸들: 396928
|
||||||
|
2024-09-25 23:37:48,190 - browser_control.py:57 - default_logger - DEBUG - 로그인 시도 중: 직원 계정
|
||||||
|
2024-09-25 23:37:48,510 - browser_control.py:75 - default_logger - DEBUG - 로그인 완료: 직원 계정
|
||||||
|
2024-09-25 23:37:50,178 - browser_control.py:250 - default_logger - DEBUG - 다이얼로그가 발견되었습니다. 닫기 버튼을 클릭합니다.
|
||||||
|
2024-09-25 23:37:50,506 - browser_control.py:256 - default_logger - DEBUG - 다이얼로그를 성공적으로 닫았습니다.
|
||||||
|
2024-09-25 23:37:56,508 - gui.py:304 - default_logger - DEBUG - 번역 작업을 시작합니다...
|
||||||
|
2024-09-25 23:37:56,516 - gui.py:309 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중...
|
||||||
|
2024-09-25 23:37:56,921 - browser_control.py:268 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 완료.
|
||||||
|
2024-09-25 23:37:56,921 - browser_control.py:543 - default_logger - DEBUG - 페이지 스크롤 시작...
|
||||||
|
2024-09-25 23:37:57,941 - browser_control.py:553 - default_logger - DEBUG - 페이지 스크롤 완료.
|
||||||
|
2024-09-25 23:37:57,941 - gui.py:316 - default_logger - DEBUG - 수집할 상품이 없습니다. 작업을 종료합니다.
|
||||||
|
2024-09-25 23:38:33,299 - gui.py:304 - default_logger - DEBUG - 번역 작업을 시작합니다...
|
||||||
|
2024-09-25 23:38:33,300 - gui.py:309 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중...
|
||||||
|
2024-09-25 23:38:33,441 - browser_control.py:268 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 완료.
|
||||||
|
2024-09-25 23:38:33,444 - browser_control.py:543 - default_logger - DEBUG - 페이지 스크롤 시작...
|
||||||
|
2024-09-25 23:38:36,479 - browser_control.py:553 - default_logger - DEBUG - 페이지 스크롤 완료.
|
||||||
|
2024-09-25 23:38:36,484 - gui.py:326 - default_logger - DEBUG - 현재 페이지: 1
|
||||||
|
2024-09-25 23:39:06,494 - browser_control.py:295 - default_logger - DEBUG - 상품 수정 버튼을 찾는 중 오류: Timeout 30000ms exceeded.
|
||||||
|
2024-09-25 23:39:06,496 - gui.py:332 - default_logger - DEBUG - 수정할 상품이 없습니다. 번역 작업을 종료합니다.
|
||||||
|
2024-09-25 23:39:06,497 - gui.py:377 - default_logger - DEBUG - 모든 상품 번역 및 저장 완료.
|
||||||
|
2024-09-25 23:39:25,477 - gui.py:304 - default_logger - DEBUG - 번역 작업을 시작합니다...
|
||||||
|
2024-09-25 23:39:25,477 - gui.py:309 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중...
|
||||||
|
2024-09-25 23:39:28,106 - browser_control.py:268 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 완료.
|
||||||
|
2024-09-25 23:39:28,107 - browser_control.py:543 - default_logger - DEBUG - 페이지 스크롤 시작...
|
||||||
|
2024-09-25 23:39:29,154 - browser_control.py:553 - default_logger - DEBUG - 페이지 스크롤 완료.
|
||||||
|
2024-09-25 23:39:29,158 - gui.py:326 - default_logger - DEBUG - 현재 페이지: 1
|
||||||
|
2024-09-25 23:39:29,165 - browser_control.py:543 - default_logger - DEBUG - 페이지 스크롤 시작...
|
||||||
|
2024-09-25 23:39:30,178 - browser_control.py:553 - default_logger - DEBUG - 페이지 스크롤 완료.
|
||||||
|
2024-09-25 23:39:30,188 - browser_control.py:289 - default_logger - DEBUG - 수정할 상품 개수: 20
|
||||||
|
2024-09-25 23:39:30,190 - gui.py:341 - default_logger - DEBUG - 1/20: 세부사항 수정 작업 중...
|
||||||
|
2024-09-25 23:39:30,233 - browser_control.py:303 - default_logger - DEBUG - 상품의 '세부사항 수정 및 업로드' 버튼을 화면에 보이도록 스크롤.
|
||||||
|
2024-09-25 23:39:30,614 - browser_control.py:306 - default_logger - DEBUG - 세부사항 수정 다이얼로그 열기 완료.
|
||||||
|
2024-09-25 23:39:30,831 - browser_control.py:323 - default_logger - DEBUG - 옵션 탭 클릭 완료.
|
||||||
|
2024-09-25 23:39:30,833 - option.py:58 - default_logger - DEBUG - 단일 옵션 확인 중 오류 발생: 'NoneType' object has no attribute 'query_selector'
|
||||||
|
2024-09-25 23:39:30,834 - option.py:70 - default_logger - DEBUG - 전체 옵션 체크박스 확인 중 오류 발생: 'NoneType' object has no attribute 'query_selector'
|
||||||
|
2024-09-25 23:39:30,834 - option.py:17 - default_logger - DEBUG - 옵션이 일부만 체크된 상태입니다. 옵션 수정이 완료된 상품으로 판단하여 패스합니다.
|
||||||
|
2024-09-25 23:39:30,836 - gui.py:439 - default_logger - DEBUG - 상품 세부사항 저장 중...
|
||||||
|
2024-09-25 23:39:32,438 - browser_control.py:396 - default_logger - DEBUG - 상품 수정 내용 저장 완료.
|
||||||
|
2024-09-25 23:39:32,881 - browser_control.py:315 - default_logger - DEBUG - 상세페이지 탭 클릭 완료.
|
||||||
|
2024-09-26 00:08:08,196 - whale_translator.py:106 - default_logger - DEBUG - 가상 데스크톱 2로 전환되었습니다.
|
||||||
|
2024-09-26 00:08:09,199 - whale_translator.py:216 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 찾았습니다. 종료 중...
|
||||||
|
2024-09-26 00:08:10,200 - whale_translator.py:219 - default_logger - DEBUG - '새 시크릿 탭 - Whale' 창을 종료했습니다.
|
||||||
|
2024-09-26 00:08:10,200 - whale_translator.py:87 - default_logger - DEBUG - 가상 데스크톱 2가 이미 존재합니다.
|
||||||
|
2024-09-26 00:08:15,155 - whale_translator.py:115 - default_logger - DEBUG - 가상 데스크톱 1로 전환되었습니다.
|
||||||
|
2024-09-26 00:08:16,156 - vertexAI.py:16 - default_logger - DEBUG - GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정: leensoo1nt.json
|
||||||
|
2024-09-26 00:08:16,156 - vertexAI.py:20 - default_logger - DEBUG - Vertex AI 모델 초기화 중...
|
||||||
|
2024-09-26 00:08:16,159 - vertexAI.py:24 - default_logger - DEBUG - prompt.json 파일을 불러옵니다.
|
||||||
|
2024-09-26 00:08:16,159 - vertexAI.py:35 - default_logger - DEBUG - 프롬프트 파일 경로: D:\py\autoTrans\prompt.json
|
||||||
|
2024-09-26 00:08:16,159 - vertexAI.py:38 - default_logger - DEBUG - prompt.json 파일이 성공적으로 로드되었습니다.
|
||||||
|
2024-09-26 00:08:16,171 - gui.py:61 - default_logger - DEBUG - 로그기록이 설정되었습니다.
|
||||||
|
2024-09-26 00:14:11,700 - gui.py:242 - default_logger - DEBUG - 크롬 브라우저를 실행합니다...
|
||||||
|
2024-09-26 00:14:11,701 - browser_control.py:24 - default_logger - DEBUG - 크롬 브라우저 실행 중...
|
||||||
|
2024-09-26 00:14:16,140 - browser_control.py:39 - default_logger - DEBUG - newPage 로딩 ...
|
||||||
|
2024-09-26 00:14:16,154 - browser_control.py:44 - default_logger - DEBUG - 페이지 제목: 퍼센티 - 셀러들을 위한 AI 구매대행 솔루션
|
||||||
|
2024-09-26 00:14:16,156 - browser_control.py:51 - default_logger - DEBUG - 크롬 창 핸들: 7932358
|
||||||
|
2024-09-26 00:14:17,573 - browser_control.py:57 - default_logger - DEBUG - 로그인 시도 중: 직원 계정
|
||||||
|
2024-09-26 00:14:17,791 - browser_control.py:75 - default_logger - DEBUG - 로그인 완료: 직원 계정
|
||||||
|
2024-09-26 00:14:19,481 - browser_control.py:250 - default_logger - DEBUG - 다이얼로그가 발견되었습니다. 닫기 버튼을 클릭합니다.
|
||||||
|
2024-09-26 00:14:19,765 - browser_control.py:256 - default_logger - DEBUG - 다이얼로그를 성공적으로 닫았습니다.
|
||||||
|
2024-09-26 00:14:24,087 - gui.py:304 - default_logger - DEBUG - 번역 작업을 시작합니다...
|
||||||
|
2024-09-26 00:14:24,088 - gui.py:309 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 중...
|
||||||
|
2024-09-26 00:14:24,351 - browser_control.py:268 - default_logger - DEBUG - 신규 상품 등록 페이지로 이동 완료.
|
||||||
|
2024-09-26 00:14:24,357 - browser_control.py:543 - default_logger - DEBUG - 페이지 스크롤 시작...
|
||||||
|
2024-09-26 00:14:28,463 - browser_control.py:553 - default_logger - DEBUG - 페이지 스크롤 완료.
|
||||||
|
2024-09-26 00:14:28,463 - gui.py:326 - default_logger - DEBUG - 현재 페이지: 1
|
||||||
|
2024-09-26 00:14:28,472 - browser_control.py:543 - default_logger - DEBUG - 페이지 스크롤 시작...
|
||||||
|
2024-09-26 00:14:29,485 - browser_control.py:553 - default_logger - DEBUG - 페이지 스크롤 완료.
|
||||||
|
2024-09-26 00:14:29,496 - browser_control.py:289 - default_logger - DEBUG - 수정할 상품 개수: 20
|
||||||
|
2024-09-26 00:14:29,496 - gui.py:341 - default_logger - DEBUG - 1/20: 세부사항 수정 작업 중...
|
||||||
|
2024-09-26 00:14:29,545 - browser_control.py:303 - default_logger - DEBUG - 상품의 '세부사항 수정 및 업로드' 버튼을 화면에 보이도록 스크롤.
|
||||||
|
2024-09-26 00:14:30,168 - browser_control.py:306 - default_logger - DEBUG - 세부사항 수정 다이얼로그 열기 완료.
|
||||||
|
2024-09-26 00:14:31,129 - browser_control.py:323 - default_logger - DEBUG - 옵션 탭 클릭 완료.
|
||||||
|
2024-09-26 00:14:31,129 - option.py:66 - default_logger - ERROR - 단일 옵션 확인 중 예외 발생: 'NoneType' object has no attribute 'query_selector'
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "D:\py\autoTrans\option.py", line 55, in is_single_option
|
||||||
|
single_option_element = self.page.query_selector(single_option_selector)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
AttributeError: 'NoneType' object has no attribute 'query_selector'
|
||||||
|
2024-09-26 00:14:31,138 - option.py:79 - default_logger - DEBUG - 전체 옵션 체크박스 확인 중 오류 발생: 'NoneType' object has no attribute 'query_selector'
|
||||||
|
2024-09-26 00:14:31,140 - option.py:17 - default_logger - DEBUG - 옵션이 일부만 체크된 상태입니다. 옵션 수정이 완료된 상품으로 판단하여 패스합니다.
|
||||||
|
2024-09-26 00:14:31,140 - gui.py:439 - default_logger - DEBUG - 상품 세부사항 저장 중...
|
||||||
|
2024-09-26 00:14:31,472 - browser_control.py:396 - default_logger - DEBUG - 상품 수정 내용 저장 완료.
|
||||||
|
2024-09-26 00:15:01,547 - browser_control.py:317 - default_logger - DEBUG - 상세페이지 탭 클릭 중 오류: Page.click: Timeout 30000ms exceeded.
|
||||||
|
Call log:
|
||||||
|
waiting for locator("div.ant-tabs-tab:has-text(\"상세페이지\")")
|
||||||
|
|
||||||
|
2024-09-26 00:15:31,560 - browser_control.py:366 - default_logger - DEBUG - 이미지 URL 추출 중 오류: Page.click: Timeout 30000ms exceeded.
|
||||||
|
Call log:
|
||||||
|
waiting for locator("button[data-cke-tooltip-text=\"소스\"]")
|
||||||
|
|
||||||
|
2024-09-26 00:15:31,562 - gui.py:404 - default_logger - DEBUG - 현재 상품의 총 이미지 수 : 0개
|
||||||
|
2024-09-26 00:15:31,562 - gui.py:423 - default_logger - DEBUG - 상품 세부사항 저장 중...
|
||||||
|
2024-09-26 00:16:01,567 - browser_control.py:399 - default_logger - DEBUG - 저장 버튼 클릭 중 오류: Page.click: Timeout 30000ms exceeded.
|
||||||
|
Call log:
|
||||||
|
waiting for locator("button:has-text(\"저장하기\")")
|
||||||
|
|
||||||
|
2024-09-26 00:16:01,569 - gui.py:363 - default_logger - DEBUG - 상품 세부사항 저장 중...
|
||||||
|
|
|
||||||
1
gui.py
1
gui.py
|
|
@ -310,6 +310,7 @@ class TranslationApp(QWidget):
|
||||||
self.browser_controller.go_to_new_product_page()
|
self.browser_controller.go_to_new_product_page()
|
||||||
|
|
||||||
# 2. 총 상품 수 수집
|
# 2. 총 상품 수 수집
|
||||||
|
self.browser_controller.scroll_page_to_bottom()
|
||||||
total_products = self.browser_controller.get_total_product_count()
|
total_products = self.browser_controller.get_total_product_count()
|
||||||
if total_products == 0:
|
if total_products == 0:
|
||||||
self.logger.debug('수집할 상품이 없습니다. 작업을 종료합니다.')
|
self.logger.debug('수집할 상품이 없습니다. 작업을 종료합니다.')
|
||||||
|
|
|
||||||
81
option.py
81
option.py
|
|
@ -2,9 +2,9 @@ class OptionHandler:
|
||||||
def __init__(self, page, logger, vertexAI):
|
def __init__(self, page, logger, vertexAI):
|
||||||
self.page = page
|
self.page = page
|
||||||
self.logger = logger
|
self.logger = logger
|
||||||
self.vertexAI = vertexAI
|
self.vertexAItranslator = vertexAI
|
||||||
|
|
||||||
def process_options(self):
|
def process_options(self, max_option_count=10):
|
||||||
"""옵션 상품을 처리하는 메서드"""
|
"""옵션 상품을 처리하는 메서드"""
|
||||||
try:
|
try:
|
||||||
# 1. 단일 옵션인지 판단
|
# 1. 단일 옵션인지 판단
|
||||||
|
|
@ -27,7 +27,7 @@ class OptionHandler:
|
||||||
|
|
||||||
# Vertex AI를 통해 옵션명을 번역
|
# Vertex AI를 통해 옵션명을 번역
|
||||||
self.logger.debug(f"수집된 원본 옵션 정보: {option_info['original_names']}")
|
self.logger.debug(f"수집된 원본 옵션 정보: {option_info['original_names']}")
|
||||||
translated_options = self.vertexAI.translate_options(option_info['original_names'])
|
translated_options = self.vertexAItranslator.translate_options(option_info['original_names'])
|
||||||
self.logger.debug(f"번역된 옵션 정보: {translated_options}")
|
self.logger.debug(f"번역된 옵션 정보: {translated_options}")
|
||||||
|
|
||||||
# 5. 번역된 옵션명 편집칸에 입력
|
# 5. 번역된 옵션명 편집칸에 입력
|
||||||
|
|
@ -35,7 +35,7 @@ class OptionHandler:
|
||||||
self.apply_translated_options(translated_options, option_info['edit_fields'])
|
self.apply_translated_options(translated_options, option_info['edit_fields'])
|
||||||
|
|
||||||
# 6. 옵션 선택 및 제한 처리
|
# 6. 옵션 선택 및 제한 처리
|
||||||
self.adjust_options(option_info['checkboxes'])
|
self.adjust_options(option_info['checkboxes'], max_option_count)
|
||||||
|
|
||||||
# 7. 저장 버튼 클릭
|
# 7. 저장 버튼 클릭
|
||||||
self.logger.debug("저장 버튼을 클릭합니다.")
|
self.logger.debug("저장 버튼을 클릭합니다.")
|
||||||
|
|
@ -50,14 +50,23 @@ class OptionHandler:
|
||||||
def is_single_option(self):
|
def is_single_option(self):
|
||||||
"""단일 옵션 상품 여부를 확인"""
|
"""단일 옵션 상품 여부를 확인"""
|
||||||
try:
|
try:
|
||||||
radio_group = self.page.query_selector('div.ant-row.css-1li46mu')
|
# 단일 상품등록 버튼 선택 여부 확인
|
||||||
option_radio = radio_group.query_selector("//label[span[text()='옵션 상품등록']]//input[@type='radio']")
|
single_option_selector = '#productMainContentContainerId > div.sc-TOgAA.fZvEqY > div.ant-row.css-1li46mu > div > label.ant-radio-button-wrapper.ant-radio-button-wrapper-checked.css-1li46mu > span.ant-radio-button.ant-radio-button-checked > input'
|
||||||
single_radio = radio_group.query_selector("//label[span[text()='단일 상품등록']]//input[@type='radio']")
|
single_option_element = self.page.query_selector(single_option_selector)
|
||||||
return single_radio.is_checked() and not option_radio.is_checked()
|
|
||||||
|
# 옵션 상품등록 버튼 선택 여부 확인
|
||||||
|
option_product_selector = '#productMainContentContainerId > div.sc-TOgAA.fZvEqY > div:nth-child(1) > div > label.ant-radio-button-wrapper.ant-radio-button-wrapper-checked.css-1li46mu > span.ant-radio-button.ant-radio-button-checked > input'
|
||||||
|
option_product_element = self.page.query_selector(option_product_selector)
|
||||||
|
|
||||||
|
# 두 요소의 체크 상태에 따라 단일 상품 여부 결정
|
||||||
|
is_single = single_option_element is not None and option_product_element is None
|
||||||
|
self.logger.debug(f"단일 상품 여부: {'단일 상품입니다.' if is_single else '옵션 상품입니다.'}")
|
||||||
|
return is_single
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.debug(f"단일 옵션 확인 중 오류 발생: {str(e)}")
|
self.logger.error(f"단일 옵션 확인 중 예외 발생: {e}", exc_info=True)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def is_all_options_checked(self):
|
def is_all_options_checked(self):
|
||||||
"""전체 옵션 체크박스 상태를 확인 (전체 체크 여부)"""
|
"""전체 옵션 체크박스 상태를 확인 (전체 체크 여부)"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -155,45 +164,45 @@ class OptionHandler:
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.debug(f"번역된 옵션명을 입력하는 중 오류 발생: {str(e)}")
|
self.logger.debug(f"번역된 옵션명을 입력하는 중 오류 발생: {str(e)}")
|
||||||
|
|
||||||
def adjust_options(self, checkboxes):
|
def adjust_options(self, checkboxes, max_option_count):
|
||||||
"""옵션 체크 상태 조정"""
|
"""옵션 체크 상태 조정"""
|
||||||
try:
|
try:
|
||||||
if len(checkboxes) > 3:
|
if len(checkboxes) > 3:
|
||||||
self.logger.debug("옵션이 3개 이상이므로 가장 낮은 옵션을 체크 해제합니다.")
|
self.logger.debug("옵션이 3개 이상이므로 가장 낮은 옵션을 체크 해제합니다.")
|
||||||
checkboxes[0].click()
|
checkboxes[0].click()
|
||||||
|
|
||||||
if len(checkboxes) > 10:
|
if len(checkboxes) > max_option_count:
|
||||||
self.logger.debug("옵션이 10개 이상이므로 초과 옵션을 체크 해제합니다.")
|
self.logger.debug("옵션이 10개 이상이므로 초과 옵션을 체크 해제합니다.")
|
||||||
for i in range(10, len(checkboxes)):
|
for i in range(max_option_count, len(checkboxes)):
|
||||||
checkboxes[i].click()
|
checkboxes[i].click()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.debug(f"옵션 체크 조정 중 오류 발생: {str(e)}")
|
self.logger.debug(f"옵션 체크 조정 중 오류 발생: {str(e)}")
|
||||||
|
|
||||||
def check_options(self, option_info):
|
def check_options(self, option_info):
|
||||||
"""옵션 체크 로직: 모든 옵션 체크 해제 후 다시 선택"""
|
"""옵션 체크 로직: 모든 옵션 체크 해제 후 다시 선택"""
|
||||||
try:
|
try:
|
||||||
# 전체 옵션 체크박스 체크 해제
|
# 전체 옵션 체크박스 체크 해제
|
||||||
total_checkbox_selector = '#productMainContentContainerId label.ant-checkbox-wrapper'
|
total_checkbox_selector = '#productMainContentContainerId label.ant-checkbox-wrapper'
|
||||||
total_checkbox_element = self.page.query_selector(total_checkbox_selector)
|
total_checkbox_element = self.page.query_selector(total_checkbox_selector)
|
||||||
if total_checkbox_element:
|
if total_checkbox_element:
|
||||||
total_checkbox_element.click()
|
total_checkbox_element.click()
|
||||||
self.logger.debug("모든 옵션 체크 해제 완료")
|
self.logger.debug("모든 옵션 체크 해제 완료")
|
||||||
|
|
||||||
# 옵션 갯수에 따라 선택 로직 진행
|
# 옵션 갯수에 따라 선택 로직 진행
|
||||||
total_options_count = len(option_info['original_names'])
|
total_options_count = len(option_info['original_names'])
|
||||||
self.logger.debug(f"선택 가능한 옵션 수: {total_options_count}")
|
self.logger.debug(f"선택 가능한 옵션 수: {total_options_count}")
|
||||||
|
|
||||||
if total_options_count > 2:
|
if total_options_count > 2:
|
||||||
# 3개 이상인 경우: 1번째 옵션을 제외하고 최대 10개까지만 체크
|
# 3개 이상인 경우: 1번째 옵션을 제외하고 최대 10개까지만 체크
|
||||||
options_to_check = option_info['checkboxes'][1:self.max_selected_options + 1]
|
options_to_check = option_info['checkboxes'][1:self.max_selected_options + 1]
|
||||||
else:
|
else:
|
||||||
# 2개 이하인 경우: 모두 체크
|
# 2개 이하인 경우: 모두 체크
|
||||||
options_to_check = option_info['checkboxes']
|
options_to_check = option_info['checkboxes']
|
||||||
|
|
||||||
# 선택된 옵션들 체크
|
# 선택된 옵션들 체크
|
||||||
for checkbox in options_to_check:
|
for checkbox in options_to_check:
|
||||||
checkbox.click()
|
checkbox.click()
|
||||||
self.logger.debug(f"옵션 체크 완료: {checkbox}")
|
self.logger.debug(f"옵션 체크 완료: {checkbox}")
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.debug(f"옵션 체크 중 오류 발생: {str(e)}")
|
self.logger.debug(f"옵션 체크 중 오류 발생: {str(e)}")
|
||||||
|
|
|
||||||
BIN
requirements.txt
BIN
requirements.txt
Binary file not shown.
Loading…
Reference in New Issue