diff --git a/build/exe.win-amd64-3.11/frozen_application_license.txt b/build/exe.win-amd64-3.11/frozen_application_license.txt new file mode 100644 index 0000000..e00ec2b --- /dev/null +++ b/build/exe.win-amd64-3.11/frozen_application_license.txt @@ -0,0 +1,63 @@ +## Why this file is included + +This program has been frozen with cx_Freeze. The freezing process +resulted in certain components from the cx_Freeze software being included +in the frozen application, in particular bootstrap code for launching +the frozen python script. The cx_Freeze software is subject to the +license set out below. + +# Licensing + +- Copyright © 2020-2025, Marcelo Duarte. +- Copyright © 2007-2019, Anthony Tuininga. +- Copyright © 2001-2006, Computronix (Canada) Ltd., Edmonton, Alberta, + Canada. +- All rights reserved. + +NOTE: This license is derived from the Python Software Foundation +License which can be found at + + +## License for cx_Freeze + +1. This LICENSE AGREEMENT is between the copyright holders and the + Individual or Organization ("Licensee") accessing and otherwise + using cx_Freeze software in source or binary form and its associated + documentation. +2. Subject to the terms and conditions of this License Agreement, the + copyright holders hereby grant Licensee a nonexclusive, + royalty-free, world-wide license to reproduce, analyze, test, + perform and/or display publicly, prepare derivative works, + distribute, and otherwise use cx_Freeze alone or in any derivative + version, provided, however, that this License Agreement and this + notice of copyright are retained in cx_Freeze alone or in any + derivative version prepared by Licensee. +3. In the event Licensee prepares a derivative work that is based on or + incorporates cx_Freeze or any part thereof, and wants to make the + derivative work available to others as provided herein, then + Licensee hereby agrees to include in any such work a brief summary + of the changes made to cx_Freeze. +4. The copyright holders are making cx_Freeze available to Licensee on + an "AS IS" basis. THE COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR + WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT + LIMITATION, THE COPYRIGHT HOLDERS MAKE NO AND DISCLAIM ANY + REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY + PARTICULAR PURPOSE OR THAT THE USE OF CX_FREEZE WILL NOT INFRINGE + ANY THIRD PARTY RIGHTS. +5. THE COPYRIGHT HOLDERS SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER + USERS OF CX_FREEZE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL + DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE + USING CX_FREEZE, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE + POSSIBILITY THEREOF. +6. This License Agreement will automatically terminate upon a material + breach of its terms and conditions. +7. Nothing in this License Agreement shall be deemed to create any + relationship of agency, partnership, or joint venture between the + copyright holders and Licensee. This License Agreement does not + grant permission to use copyright holder's trademarks or trade name + in a trademark sense to endorse or promote products or services of + Licensee, or any third party. +8. By copying, installing or otherwise using cx_Freeze, Licensee agrees + to be bound by the terms and conditions of this License Agreement. + +Computronix® is a registered trademark of Computronix (Canada) Ltd. diff --git a/build/exe.win-amd64-3.11/jjim.exe b/build/exe.win-amd64-3.11/jjim.exe new file mode 100644 index 0000000..4084d78 Binary files /dev/null and b/build/exe.win-amd64-3.11/jjim.exe differ diff --git a/build/exe.win-amd64-3.11/jjim.ico b/build/exe.win-amd64-3.11/jjim.ico new file mode 100644 index 0000000..8c4931b Binary files /dev/null and b/build/exe.win-amd64-3.11/jjim.ico differ diff --git a/build/exe.win-amd64-3.11/jjim2.log b/build/exe.win-amd64-3.11/jjim2.log new file mode 100644 index 0000000..a77757a --- /dev/null +++ b/build/exe.win-amd64-3.11/jjim2.log @@ -0,0 +1,59 @@ +[2025-03-25 21:08:36,340] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 21:08:36,340] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 21:08:36,340] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 12, 10, 42, 925387, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 12, 10, 42, 927200, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyOTA4MjQyLCJpYXQiOjE3NDI5MDQ2NDIsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI5MDQ2NDJ9XSwic2Vzc2lvbl9pZCI6ImE5ZjU4Zjk1LTRlYTYtNDkzOC1iNWUxLTRkOTFhYjNjNGQ0MiIsImlzX2Fub255bW91cyI6ZmFsc2V9.V28ngwVftDVEFnezjT1FWy8gj1flJJpZfz8CePZY-dE', refresh_token='PR7Eo-oZTceqiroZhuVP5Q', expires_in=3600, expires_at=1742908242, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 12, 10, 42, 925387, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 12, 10, 42, 927200, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 21:08:36,340] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 21:08:36,559] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T12:07:05.488341', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 21:08:36,574] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T12:07:05.488341', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 21:08:36,754] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 21:08:36,759] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 21:08:36,765] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 21:08:38,176] [MainThread] [INFO] [main_window.py:on_login_button_clicked:161] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 21:08:38,182] [Dummy-2] [DEBUG] [jjim_runner.py:start_browser:113] 작업 디렉토리 변경: D:\py\jjim2\build\exe.win-amd64-3.11 +[2025-03-25 21:08:38,183] [Dummy-2] [DEBUG] [jjim_runner.py:start_browser:121] 브라우저 실행 파일이 없습니다: D:\py\jjim2\build\exe.win-amd64-3.11\browsers\chromium-1140\chrome-win\chrome.exe +[2025-03-25 21:08:38,183] [Dummy-2] [ERROR] [jjim_runner.py:start_browser:180] 브라우저 초기화 오류: 브라우저 실행 파일이 없습니다: D:\py\jjim2\build\exe.win-amd64-3.11\browsers\chromium-1140\chrome-win\chrome.exe +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 122, in start_browser + raise FileNotFoundError(f"브라우저 실행 파일이 없습니다: {browser_path}") +FileNotFoundError: 브라우저 실행 파일이 없습니다: D:\py\jjim2\build\exe.win-amd64-3.11\browsers\chromium-1140\chrome-win\chrome.exe + +[2025-03-25 21:08:43,929] [MainThread] [INFO] [main_window.py:on_login_button_clicked:161] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 21:08:43,931] [Dummy-3] [DEBUG] [jjim_runner.py:start_browser:113] 작업 디렉토리 변경: D:\py\jjim2\build\exe.win-amd64-3.11\lib +[2025-03-25 21:08:43,933] [Dummy-3] [DEBUG] [jjim_runner.py:start_browser:127] D:\py\jjim2\build\exe.win-amd64-3.11\lib\browsers\user_data 디렉토리가 생성되었습니다. +[2025-03-25 21:08:43,934] [Dummy-3] [DEBUG] [jjim_runner.py:start_browser:132] D:\py\jjim2\build\exe.win-amd64-3.11\lib\browsers\cache 디렉토리가 생성되었습니다. +[2025-03-25 21:08:43,936] [Dummy-3] [ERROR] [jjim_runner.py:start_browser:180] 브라우저 초기화 오류: [WinError 2] 지정된 파일을 찾을 수 없습니다 +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 143, in start_browser + self.playwright = await async_playwright().start() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_context_manager.py", line 51, in start + return await self.__aenter__() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_context_manager.py", line 46, in __aenter__ + playwright = AsyncPlaywright(next(iter(done)).result()) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_transport.py", line 120, in connect + self._proc = await asyncio.create_subprocess_exec( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\Python311\Lib\asyncio\subprocess.py", line 223, in create_subprocess_exec + transport, protocol = await loop.subprocess_exec( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\Python311\Lib\asyncio\base_events.py", line 1708, in subprocess_exec + transport = await self._make_subprocess_transport( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\Python311\Lib\asyncio\windows_events.py", line 399, in _make_subprocess_transport + transp = _WindowsSubprocessTransport(self, protocol, args, shell, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\Python311\Lib\asyncio\base_subprocess.py", line 36, in __init__ + self._start(args=args, shell=shell, stdin=stdin, stdout=stdout, + File "D:\Python311\Lib\asyncio\windows_events.py", line 929, in _start + self._proc = windows_utils.Popen( + ^^^^^^^^^^^^^^^^^^^^ + File "D:\Python311\Lib\asyncio\windows_utils.py", line 153, in __init__ + super().__init__(args, stdin=stdin_rfd, stdout=stdout_wfd, + File "D:\Python311\Lib\subprocess.py", line 1026, in __init__ + self._execute_child(args, executable, preexec_fn, close_fds, + File "D:\Python311\Lib\subprocess.py", line 1538, in _execute_child + hp, ht, pid, tid = _winapi.CreateProcess(executable, args, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +FileNotFoundError: [WinError 2] 지정된 파일을 찾을 수 없습니다 + diff --git a/build/exe.win-amd64-3.11/markets.db b/build/exe.win-amd64-3.11/markets.db new file mode 100644 index 0000000..15dda5a Binary files /dev/null and b/build/exe.win-amd64-3.11/markets.db differ diff --git a/build/exe.win-amd64-3.11/python3.dll b/build/exe.win-amd64-3.11/python3.dll new file mode 100644 index 0000000..4697e72 Binary files /dev/null and b/build/exe.win-amd64-3.11/python3.dll differ diff --git a/build/exe.win-amd64-3.11/python311.dll b/build/exe.win-amd64-3.11/python311.dll new file mode 100644 index 0000000..701d943 Binary files /dev/null and b/build/exe.win-amd64-3.11/python311.dll differ diff --git a/build/jjim.ico b/build/jjim.ico new file mode 100644 index 0000000..8c4931b Binary files /dev/null and b/build/jjim.ico differ diff --git a/jjim.ico b/jjim.ico new file mode 100644 index 0000000..8c4931b Binary files /dev/null and b/jjim.ico differ diff --git a/jjim2.log b/jjim2.log index d9f0df6..559fafc 100644 --- a/jjim2.log +++ b/jjim2.log @@ -332,3 +332,3949 @@ Call log: [2025-03-23 16:44:51,229] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 [2025-03-23 16:44:51,251] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 [2025-03-23 16:44:52,613] [Dummy-2] [INFO] [jjim_runner.py:start_browser:171] 브라우저 초기화 완료 +[2025-03-25 16:27:02,688] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:27:02,689] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:27:02,689] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 29, 9, 20399, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 29, 9, 22377, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkxMzQ5LCJpYXQiOjE3NDI4ODc3NDksImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODc3NDl9XSwic2Vzc2lvbl9pZCI6IjdiZTEzOGI3LTAyNmEtNGNiMC1iOGZjLTM0Nzg4MmUxMWZlOCIsImlzX2Fub255bW91cyI6ZmFsc2V9.euroJ-sG4f4m4hIAvwsQlPbePc50JBhhO1wH2TKU2dI', refresh_token='7mV-bCqfudWXb9a4kZ3T6Q', expires_in=3600, expires_at=1742891349, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 29, 9, 20399, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 29, 9, 22377, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:27:02,690] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:27:02,952] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-24T14:01:56.913154', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:27:02,969] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-24T14:01:56.913154', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:27:03,365] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:27:03,369] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:27:03,386] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:27:03,670] [Dummy-2] [DEBUG] [jjim_runner.py:start_browser:101] D:\py\jjim2\src\browsers\user_data 디렉토리가 생성되었습니다. +[2025-03-25 16:27:03,672] [Dummy-2] [DEBUG] [jjim_runner.py:start_browser:106] D:\py\jjim2\src\browsers\cache 디렉토리가 생성되었습니다. +[2025-03-25 16:27:04,549] [Dummy-2] [INFO] [jjim_runner.py:start_browser:171] 브라우저 초기화 완료 +[2025-03-25 16:27:52,319] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:27:52,319] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:27:52,319] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 29, 58, 655838, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 29, 58, 657471, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkxMzk4LCJpYXQiOjE3NDI4ODc3OTgsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODc3OTh9XSwic2Vzc2lvbl9pZCI6ImE4MzM5YTNlLTQ5YWUtNDJlMC05NjY3LWYyMzUzMGJmOGIyMCIsImlzX2Fub255bW91cyI6ZmFsc2V9._5yyRThED6p5khIOZfgcEFS5PGp0C8Hu5hQ7x6AChoU', refresh_token='DCvw_iYNOcO4b3NBgG17nw', expires_in=3600, expires_at=1742891398, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 29, 58, 655838, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 29, 58, 657471, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:27:52,320] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:27:52,511] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:27:02.969397', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:27:52,527] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:27:02.969397', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:27:52,923] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:27:52,923] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:27:52,937] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:27:53,739] [Dummy-2] [INFO] [jjim_runner.py:start_browser:171] 브라우저 초기화 완료 +[2025-03-25 16:27:54,935] [MainThread] [INFO] [main_window.py:on_login_button_clicked:153] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 16:27:55,302] [Dummy-2] [INFO] [jjim_runner.py:_start_login:193] 로그인 페이지 접속 +[2025-03-25 16:27:57,434] [Dummy-2] [INFO] [jjim_runner.py:_start_login:210] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 16:27:57,441] [Dummy-2] [INFO] [jjim_runner.py:_start_login:214] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 61를 선택하면 로그인 됩니다. +[2025-03-25 16:27:57,442] [Dummy-2] [INFO] [jjim_runner.py:_start_login:218] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 61를 선택하면 로그인 됩니다. +[2025-03-25 16:27:57,443] [MainThread] [INFO] [main_window.py:on_qr_ready:176] QR 이미지 준비 완료 +[2025-03-25 16:27:57,443] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:27:58,455] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:27:59,462] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:00,469] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:01,481] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:02,485] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:03,499] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:04,514] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:05,520] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:06,537] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:07,548] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:08,563] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:09,581] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:10,598] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:11,610] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:12,626] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:13,638] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:14,652] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:15,669] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:16,685] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:17,698] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:18,711] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:19,725] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:20,731] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:21,748] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:28:22,748] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:236] [_monitor_login] 현재 URL: https://nid.naver.com/signin/v3/finalize?url=https%3A%2F%2Fwww.naver.com&svctype=1 +[2025-03-25 16:28:22,752] [Dummy-2] [WARNING] [jjim_runner.py:_monitor_login:246] _monitor_login query_selector 예외: Page.query_selector: Execution context was destroyed, most likely because of a navigation +[2025-03-25 16:28:22,752] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:256] 최종 로그인 완료 감지: https://nid.naver.com/signin/v3/finalize?url=https%3A%2F%2Fwww.naver.com&svctype=1 +[2025-03-25 16:28:22,756] [MainThread] [INFO] [main_window.py:on_login_complete:200] 로그인 완료 신호 수신 +[2025-03-25 16:28:23,759] [MainThread] [INFO] [main_window.py:on_qr_ready:189] QR 다이얼로그 자동 종료 +[2025-03-25 16:29:27,376] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:29:27,377] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:29:27,377] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 31, 33, 670796, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 31, 33, 672764, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkxNDkzLCJpYXQiOjE3NDI4ODc4OTMsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODc4OTN9XSwic2Vzc2lvbl9pZCI6ImZlMTRlNzEzLTk4ZGUtNGI0ZS05NmE4LWRhOTI4YjBmYWQxMyIsImlzX2Fub255bW91cyI6ZmFsc2V9.ddkANcQlsEtRf9E41bxCEMVxu51HKXCYs08BEZ6RSqY', refresh_token='iADWFGl33chxSadeX_m7vw', expires_in=3600, expires_at=1742891493, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 31, 33, 670796, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 31, 33, 672764, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:29:27,378] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:29:27,553] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:27:52.528012', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:29:27,570] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:27:52.528012', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:29:27,966] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:29:27,967] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:29:27,980] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:29:28,831] [Dummy-2] [INFO] [jjim_runner.py:start_browser:171] 브라우저 초기화 완료 +[2025-03-25 16:31:01,890] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:31:01,890] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:31:01,891] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 33, 8, 233855, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 33, 8, 235376, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkxNTg4LCJpYXQiOjE3NDI4ODc5ODgsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODc5ODh9XSwic2Vzc2lvbl9pZCI6ImQxNzE2NzViLTQxYTctNDJkZC1iNGI3LTdiMDE4MTBhMzYwZCIsImlzX2Fub255bW91cyI6ZmFsc2V9.MOuc9_Ho3k1utEhzOcU5sR8SvlIy243_3Okf_m4Skvg', refresh_token='7bJAx0MvitApAAawfEAJKQ', expires_in=3600, expires_at=1742891588, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 33, 8, 233855, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 33, 8, 235376, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:31:01,892] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:31:02,071] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:29:27.570143', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:31:02,087] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:29:27.570143', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:31:02,557] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:31:02,558] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:31:02,572] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:31:03,195] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 16:31:18,396] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:31:18,396] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:31:18,396] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 33, 24, 740118, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 33, 24, 742086, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkxNjA0LCJpYXQiOjE3NDI4ODgwMDQsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODgwMDR9XSwic2Vzc2lvbl9pZCI6ImQ2ZDk4MTBhLTZjZDItNDljNC04ZDg4LTc0YTY4YzdiMWQ1OCIsImlzX2Fub255bW91cyI6ZmFsc2V9.QsTy8ASXUFdDLZwfrCkPlmv5mXG7mehp0sJb9MMvgFM', refresh_token='uuDmeOhSqGj4Dcp5JGOCgg', expires_in=3600, expires_at=1742891604, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 33, 24, 740118, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 33, 24, 742086, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:31:18,397] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:31:18,563] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:31:02.08761', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:31:18,578] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:31:02.08761', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:31:19,023] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:31:19,023] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:31:19,036] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:31:19,677] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 16:31:34,510] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:31:34,511] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:31:34,511] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 33, 40, 853945, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 33, 40, 855796, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkxNjIwLCJpYXQiOjE3NDI4ODgwMjAsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODgwMjB9XSwic2Vzc2lvbl9pZCI6IjUwMWE4OGJjLTE3NTItNDk0ZC05Y2VkLTllNDIwZWI2MTQwNSIsImlzX2Fub255bW91cyI6ZmFsc2V9.GGPOShbBZpySAmauh9ablpeg_89Gp7PuGE-20yAbpF0', refresh_token='RUuPnmuuZ0NRFTaLnYCzaw', expires_in=3600, expires_at=1742891620, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 33, 40, 853945, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 33, 40, 855796, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:31:34,512] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:31:34,677] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:31:18.578028', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:31:34,692] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:31:18.578028', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:31:35,122] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:31:35,123] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:31:35,136] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:31:35,770] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 16:31:48,067] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:31:48,068] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:31:48,068] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 33, 54, 412328, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 33, 54, 414004, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkxNjM0LCJpYXQiOjE3NDI4ODgwMzQsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODgwMzR9XSwic2Vzc2lvbl9pZCI6ImM3ZDQyNDgzLWM0ZmYtNGQ4YS1iNDdhLTlmMThlYWFlYTVkZSIsImlzX2Fub255bW91cyI6ZmFsc2V9.iapkugV07zhgWfezrAAZvcLUTNb0QtGvYrM7_TpUGjg', refresh_token='rfMd8zt-jRcF5F8p7I0X3A', expires_in=3600, expires_at=1742891634, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 33, 54, 412328, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 33, 54, 414004, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:31:48,069] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:31:48,234] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:31:34.692024', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:31:48,249] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:31:34.692024', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:31:48,666] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:31:48,667] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:31:48,679] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:31:49,302] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 16:32:03,345] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:32:03,346] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:32:03,346] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 34, 9, 690313, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 34, 9, 691965, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkxNjQ5LCJpYXQiOjE3NDI4ODgwNDksImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODgwNDl9XSwic2Vzc2lvbl9pZCI6IjhkNmYzMjY3LTU2YTAtNGQxYy04NmI5LTQ1ZTZkNDhlMjE2MyIsImlzX2Fub255bW91cyI6ZmFsc2V9.g2Kg0egnUpdTHQKgvrKZhlemTN4t1fBzk-Vd4qlr_j4', refresh_token='dch5LYZFK-lAfrhXms0lwA', expires_in=3600, expires_at=1742891649, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 34, 9, 690313, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 34, 9, 691965, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:32:03,347] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:32:03,514] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:31:48.250992', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:32:03,530] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:31:48.250992', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:32:03,954] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:32:03,955] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:32:03,968] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:32:04,612] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 16:32:11,350] [MainThread] [INFO] [main_window.py:on_login_button_clicked:153] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 16:32:11,624] [Dummy-2] [INFO] [jjim_runner.py:_start_login:194] 로그인 페이지 접속 +[2025-03-25 16:32:13,737] [Dummy-2] [INFO] [jjim_runner.py:_start_login:211] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 16:32:13,745] [Dummy-2] [INFO] [jjim_runner.py:_start_login:215] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 74를 선택하면 로그인 됩니다. +[2025-03-25 16:32:13,745] [Dummy-2] [INFO] [jjim_runner.py:_start_login:219] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 74를 선택하면 로그인 됩니다. +[2025-03-25 16:32:13,745] [MainThread] [INFO] [main_window.py:on_qr_ready:176] QR 이미지 준비 완료 +[2025-03-25 16:32:13,746] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:32:14,758] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:32:15,766] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:32:16,781] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:32:17,790] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:32:18,802] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:32:19,821] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:32:20,833] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:32:21,849] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:32:22,855] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:32:23,855] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/signin/v3/finalize?url=https%3A%2F%2Fwww.naver.com&svctype=1 +[2025-03-25 16:32:23,867] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:257] 최종 로그인 완료 감지: https://nid.naver.com/signin/v3/finalize?url=https%3A%2F%2Fwww.naver.com&svctype=1 +[2025-03-25 16:32:23,868] [MainThread] [INFO] [main_window.py:on_login_complete:200] 로그인 완료 신호 수신 +[2025-03-25 16:32:24,871] [MainThread] [INFO] [main_window.py:on_qr_ready:189] QR 다이얼로그 자동 종료 +[2025-03-25 16:32:40,967] [MainThread] [INFO] [main_window.py:on_jjim_button_clicked:216] 찜하기 버튼 클릭 +[2025-03-25 16:32:40,968] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:32:40,970] [MainThread] [INFO] [jjim_runner.py:start_jjim:266] 마켓 리스트: [{'id': 1, 'market_name': 'smartstore.naver.com', 'market_url': 'https://smartstore.naver.com/chokbananahouse', 'memo': ''}] +[2025-03-25 16:32:40,971] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:276] smartstore.naver.com 진행 시작 +[2025-03-25 16:32:43,989] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:288] smartstore.naver.com의 전체 상품수: 2185 +[2025-03-25 16:32:44,007] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:298] smartstore.naver.com cp=1의 상품수: 59 +[2025-03-25 16:32:44,065] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 4번 상품 찜하기 클릭 +[2025-03-25 16:32:45,117] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 5번 상품 찜하기 클릭 +[2025-03-25 16:32:46,165] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 6번 상품 찜하기 클릭 +[2025-03-25 16:32:47,216] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 7번 상품 찜하기 클릭 +[2025-03-25 16:32:49,627] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] 20번 상품 클릭 오류: ElementHandle.click: Target page, context or browser has been closed +Call log: + - attempting click action + - 2 × waiting for element to be visible, enabled and stable + - - element is visible, enabled and stable + - - scrolling into view if needed + - - done scrolling + - - from
subtree intercepts pointer events + - - retrying click action + - - waiting 20ms + - 2 × waiting for element to be visible, enabled and stable + - - element is visible, enabled and stable + - - scrolling into view if needed + - - done scrolling + - - from
subtree intercepts pointer events + - - retrying click action + - - waiting 100ms + - 2 × waiting for element to be visible, enabled and stable + - - element is visible, enabled and stable + - - scrolling into view if needed + - - done scrolling + - - from
subtree intercepts pointer events + - - retrying click action + - - waiting 500ms + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 312, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.TargetClosedError: ElementHandle.click: Target page, context or browser has been closed +Call log: + - attempting click action + - 2 × waiting for element to be visible, enabled and stable + - - element is visible, enabled and stable + - - scrolling into view if needed + - - done scrolling + - - from
subtree intercepts pointer events + - - retrying click action + - - waiting 20ms + - 2 × waiting for element to be visible, enabled and stable + - - element is visible, enabled and stable + - - scrolling into view if needed + - - done scrolling + - - from
subtree intercepts pointer events + - - retrying click action + - - waiting 100ms + - 2 × waiting for element to be visible, enabled and stable + - - element is visible, enabled and stable + - - scrolling into view if needed + - - done scrolling + - - from
subtree intercepts pointer events + - - retrying click action + - - waiting 500ms + + +[2025-03-25 16:32:49,634] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:343] 찜 중 오류: ElementHandle.query_selector: Target page, context or browser has been closed +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 301, in _start_jjim + btn = await product.query_selector("button[type='button']") + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2873, in query_selector + await self._impl_obj.query_selector(selector=selector) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 318, in query_selector + await self._channel.send("querySelector", dict(selector=selector)) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.TargetClosedError: ElementHandle.query_selector: Target page, context or browser has been closed + +[2025-03-25 16:41:59,587] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:41:59,588] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:41:59,588] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 44, 5, 954109, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 44, 5, 955834, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkyMjQ1LCJpYXQiOjE3NDI4ODg2NDUsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODg2NDV9XSwic2Vzc2lvbl9pZCI6ImMxZjM1YzVmLWExM2MtNGY4MS1iNjBiLTM2ZGIwMThiYWY5NyIsImlzX2Fub255bW91cyI6ZmFsc2V9.9owbFrWTm5yOXNi2hAFwj1Am8l--x0XbFufAl66d6-I', refresh_token='35baR2i7qWfA0rXX_UGP-A', expires_in=3600, expires_at=1742892245, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 44, 5, 954109, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 44, 5, 955834, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:41:59,589] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:41:59,809] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:32:03.530901', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:41:59,824] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:32:03.530901', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:42:01,706] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:42:01,707] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:42:01,722] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:42:02,397] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 16:42:07,594] [MainThread] [INFO] [main_window.py:on_login_button_clicked:153] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 16:42:07,981] [Dummy-2] [INFO] [jjim_runner.py:_start_login:194] 로그인 페이지 접속 +[2025-03-25 16:42:10,101] [Dummy-2] [INFO] [jjim_runner.py:_start_login:211] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 16:42:10,109] [Dummy-2] [INFO] [jjim_runner.py:_start_login:215] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 65를 선택하면 로그인 됩니다. +[2025-03-25 16:42:10,110] [Dummy-2] [INFO] [jjim_runner.py:_start_login:219] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 65를 선택하면 로그인 됩니다. +[2025-03-25 16:42:10,110] [MainThread] [INFO] [main_window.py:on_qr_ready:176] QR 이미지 준비 완료 +[2025-03-25 16:42:10,110] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:42:11,116] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:42:12,120] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:42:13,128] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:42:14,133] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/signin/v3/finalize?url=https%3A%2F%2Fwww.naver.com&svctype=1 +[2025-03-25 16:42:14,146] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:257] 최종 로그인 완료 감지: https://nid.naver.com/signin/v3/finalize?url=https%3A%2F%2Fwww.naver.com&svctype=1 +[2025-03-25 16:42:14,147] [MainThread] [INFO] [main_window.py:on_login_complete:200] 로그인 완료 신호 수신 +[2025-03-25 16:42:15,147] [MainThread] [INFO] [main_window.py:on_qr_ready:189] QR 다이얼로그 자동 종료 +[2025-03-25 16:42:22,065] [MainThread] [INFO] [main_window.py:on_jjim_button_clicked:216] 찜하기 버튼 클릭 +[2025-03-25 16:42:22,067] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:42:22,068] [MainThread] [INFO] [jjim_runner.py:start_jjim:266] 마켓 리스트: [{'id': 1, 'market_name': 'smartstore.naver.com', 'market_url': 'https://smartstore.naver.com/chokbananahouse', 'memo': ''}] +[2025-03-25 16:42:22,069] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:276] smartstore.naver.com 진행 시작 +[2025-03-25 16:42:25,399] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:295] smartstore.naver.com의 전체 상품수: 2185 +[2025-03-25 16:42:25,413] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:301] smartstore.naver.com cp=1의 찜버튼 개수: 40 +[2025-03-25 16:42:25,478] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 1번째 찜버튼 클릭 +[2025-03-25 16:42:25,840] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 2번째 찜버튼 클릭 +[2025-03-25 16:42:26,217] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 3번째 찜버튼 클릭 +[2025-03-25 16:42:26,584] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 4번째 찜버튼 클릭 +[2025-03-25 16:42:26,953] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 5번째 찜버튼 클릭 +[2025-03-25 16:42:27,300] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 6번째 찜버튼 클릭 +[2025-03-25 16:42:27,651] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 7번째 찜버튼 클릭 +[2025-03-25 16:42:28,017] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 8번째 찜버튼 클릭 +[2025-03-25 16:42:28,368] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 9번째 찜버튼 클릭 +[2025-03-25 16:42:28,718] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 10번째 찜버튼 클릭 +[2025-03-25 16:42:29,068] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 11번째 찜버튼 클릭 +[2025-03-25 16:42:29,436] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 12번째 찜버튼 클릭 +[2025-03-25 16:42:29,786] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 13번째 찜버튼 클릭 +[2025-03-25 16:42:30,134] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 14번째 찜버튼 클릭 +[2025-03-25 16:42:30,483] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 15번째 찜버튼 클릭 +[2025-03-25 16:42:30,832] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 16번째 찜버튼 클릭 +[2025-03-25 16:42:31,183] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 17번째 찜버튼 클릭 +[2025-03-25 16:42:31,533] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 18번째 찜버튼 클릭 +[2025-03-25 16:42:31,900] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 19번째 찜버튼 클릭 +[2025-03-25 16:42:32,249] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 20번째 찜버튼 클릭 +[2025-03-25 16:42:32,632] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 21번째 찜버튼 클릭 +[2025-03-25 16:42:32,984] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 22번째 찜버튼 클릭 +[2025-03-25 16:42:33,333] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 23번째 찜버튼 클릭 +[2025-03-25 16:42:33,684] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 24번째 찜버튼 클릭 +[2025-03-25 16:42:34,033] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 25번째 찜버튼 클릭 +[2025-03-25 16:42:34,383] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 26번째 찜버튼 클릭 +[2025-03-25 16:42:34,734] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 27번째 찜버튼 클릭 +[2025-03-25 16:42:35,083] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 28번째 찜버튼 클릭 +[2025-03-25 16:42:35,432] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 29번째 찜버튼 클릭 +[2025-03-25 16:42:35,784] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 30번째 찜버튼 클릭 +[2025-03-25 16:42:36,150] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 31번째 찜버튼 클릭 +[2025-03-25 16:42:36,500] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 32번째 찜버튼 클릭 +[2025-03-25 16:42:36,849] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 33번째 찜버튼 클릭 +[2025-03-25 16:42:37,199] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 34번째 찜버튼 클릭 +[2025-03-25 16:42:37,549] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 35번째 찜버튼 클릭 +[2025-03-25 16:42:37,900] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 36번째 찜버튼 클릭 +[2025-03-25 16:42:38,250] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 37번째 찜버튼 클릭 +[2025-03-25 16:42:38,601] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 38번째 찜버튼 클릭 +[2025-03-25 16:42:38,950] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 39번째 찜버튼 클릭 +[2025-03-25 16:42:39,298] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] cp=1 40번째 찜버튼 클릭 +[2025-03-25 16:42:44,330] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:295] smartstore.naver.com의 전체 상품수: 2185 +[2025-03-25 16:42:44,343] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:301] smartstore.naver.com cp=2의 찜버튼 개수: 40 +[2025-03-25 16:42:49,193] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:295] smartstore.naver.com의 전체 상품수: 2185 +[2025-03-25 16:42:49,203] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:301] smartstore.naver.com cp=3의 찜버튼 개수: 40 +[2025-03-25 16:42:54,010] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:348] 찜 중 오류: Page.query_selector: Target page, context or browser has been closed +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 291, in _start_jjim + total_info_elem = await self.page.query_selector("div#CategoryProducts span._6lgM26zUO6") + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 8082, in query_selector + await self._impl_obj.query_selector(selector=selector, strict=strict) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_page.py", line 413, in query_selector + return await self._main_frame.query_selector(selector, strict) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_frame.py", line 304, in query_selector + await self._channel.send("querySelector", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.TargetClosedError: Page.query_selector: Target page, context or browser has been closed + +[2025-03-25 16:44:32,615] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:44:32,615] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:44:32,616] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 46, 38, 985348, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 46, 38, 988135, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkyMzk4LCJpYXQiOjE3NDI4ODg3OTgsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODg3OTh9XSwic2Vzc2lvbl9pZCI6IjFkYjIyOTA4LWE5ZTAtNGNiNC05M2RhLTUyODgyZTIyNGU2ZiIsImlzX2Fub255bW91cyI6ZmFsc2V9.3WFQ1BI9JL7kzBydbP4BHJgrsPJ_Qs7jXJU8MuBBnVA', refresh_token='99GGIa1H6Y0XWvVQvteGLA', expires_in=3600, expires_at=1742892398, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 46, 38, 985348, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 46, 38, 988135, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:44:32,616] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:44:32,804] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:41:59.825278', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:44:32,820] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:41:59.825278', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:44:33,263] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:44:33,263] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:44:33,278] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:44:33,916] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 16:44:36,969] [MainThread] [INFO] [main_window.py:on_login_button_clicked:153] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 16:44:37,357] [Dummy-2] [INFO] [jjim_runner.py:_start_login:194] 로그인 페이지 접속 +[2025-03-25 16:44:39,474] [Dummy-2] [INFO] [jjim_runner.py:_start_login:211] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 16:44:39,482] [Dummy-2] [INFO] [jjim_runner.py:_start_login:215] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 85를 선택하면 로그인 됩니다. +[2025-03-25 16:44:39,482] [Dummy-2] [INFO] [jjim_runner.py:_start_login:219] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 85를 선택하면 로그인 됩니다. +[2025-03-25 16:44:39,482] [MainThread] [INFO] [main_window.py:on_qr_ready:176] QR 이미지 준비 완료 +[2025-03-25 16:44:39,483] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:44:40,502] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:44:41,521] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:44:42,530] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:44:43,544] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:44:44,558] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:44:45,570] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:44:46,576] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:44:47,593] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://www.naver.com/ +[2025-03-25 16:44:47,784] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:251] qrcode-success 요소 감지: QR 스캔 성공 +[2025-03-25 16:44:47,784] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:257] 최종 로그인 완료 감지: https://www.naver.com/ +[2025-03-25 16:44:47,785] [MainThread] [INFO] [main_window.py:on_login_in_progress:193] 로그인 진행중 메시지 표시 +[2025-03-25 16:44:47,790] [MainThread] [INFO] [main_window.py:on_login_complete:200] 로그인 완료 신호 수신 +[2025-03-25 16:44:48,792] [MainThread] [INFO] [main_window.py:on_qr_ready:189] QR 다이얼로그 자동 종료 +[2025-03-25 16:44:51,257] [MainThread] [INFO] [main_window.py:on_jjim_button_clicked:216] 찜하기 버튼 클릭 +[2025-03-25 16:44:51,259] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:44:51,260] [MainThread] [INFO] [jjim_runner.py:start_jjim:266] 마켓 리스트: [{'id': 1, 'market_name': 'smartstore.naver.com', 'market_url': 'https://smartstore.naver.com/chokbananahouse', 'memo': ''}] +[2025-03-25 16:44:51,261] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:280] smartstore.naver.com 진행 시작 +[2025-03-25 16:44:54,583] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:292] smartstore.naver.com의 전체 상품수: 2185 +[2025-03-25 16:44:54,597] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 16:44:56,820] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 16:44:56,846] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 1번째 찜버튼 클릭 +[2025-03-25 16:44:57,213] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 2번째 찜버튼 클릭 +[2025-03-25 16:44:57,578] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 3번째 찜버튼 클릭 +[2025-03-25 16:44:57,928] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 4번째 찜버튼 클릭 +[2025-03-25 16:44:58,279] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 5번째 찜버튼 클릭 +[2025-03-25 16:44:58,631] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 6번째 찜버튼 클릭 +[2025-03-25 16:44:58,996] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 7번째 찜버튼 클릭 +[2025-03-25 16:44:59,345] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 8번째 찜버튼 클릭 +[2025-03-25 16:44:59,713] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 9번째 찜버튼 클릭 +[2025-03-25 16:45:00,065] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 10번째 찜버튼 클릭 +[2025-03-25 16:45:00,413] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 11번째 찜버튼 클릭 +[2025-03-25 16:45:00,762] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 12번째 찜버튼 클릭 +[2025-03-25 16:45:01,111] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 13번째 찜버튼 클릭 +[2025-03-25 16:45:01,462] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 14번째 찜버튼 클릭 +[2025-03-25 16:45:01,811] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 15번째 찜버튼 클릭 +[2025-03-25 16:45:02,161] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 16번째 찜버튼 클릭 +[2025-03-25 16:45:02,512] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 17번째 찜버튼 클릭 +[2025-03-25 16:45:02,879] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 18번째 찜버튼 클릭 +[2025-03-25 16:45:03,229] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 19번째 찜버튼 클릭 +[2025-03-25 16:45:03,579] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 20번째 찜버튼 클릭 +[2025-03-25 16:45:04,118] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 21번째 찜버튼 클릭 +[2025-03-25 16:45:04,461] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 22번째 찜버튼 클릭 +[2025-03-25 16:45:04,794] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 23번째 찜버튼 클릭 +[2025-03-25 16:45:05,144] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 24번째 찜버튼 클릭 +[2025-03-25 16:45:05,494] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 25번째 찜버튼 클릭 +[2025-03-25 16:45:05,845] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 26번째 찜버튼 클릭 +[2025-03-25 16:45:06,196] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 27번째 찜버튼 클릭 +[2025-03-25 16:45:06,545] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 28번째 찜버튼 클릭 +[2025-03-25 16:45:06,895] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 29번째 찜버튼 클릭 +[2025-03-25 16:45:07,245] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 30번째 찜버튼 클릭 +[2025-03-25 16:45:07,596] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 31번째 찜버튼 클릭 +[2025-03-25 16:45:07,964] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 32번째 찜버튼 클릭 +[2025-03-25 16:45:08,311] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 33번째 찜버튼 클릭 +[2025-03-25 16:45:08,660] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 34번째 찜버튼 클릭 +[2025-03-25 16:45:09,041] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 35번째 찜버튼 클릭 +[2025-03-25 16:45:09,393] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 36번째 찜버튼 클릭 +[2025-03-25 16:45:09,744] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 37번째 찜버튼 클릭 +[2025-03-25 16:45:10,094] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 38번째 찜버튼 클릭 +[2025-03-25 16:45:10,445] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 39번째 찜버튼 클릭 +[2025-03-25 16:45:10,795] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 40번째 찜버튼 클릭 +[2025-03-25 16:45:13,166] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 41 +[2025-03-25 16:45:13,196] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 1번째 찜버튼 클릭 +[2025-03-25 16:45:13,547] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 2번째 찜버튼 클릭 +[2025-03-25 16:45:13,912] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:316] [smartstore.naver.com] 현재 페이지 3번째 찜버튼 클릭 +[2025-03-25 16:45:14,235] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:348] 찜 중 오류: ElementHandle.get_attribute: Target page, context or browser has been closed +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 308, in _start_jjim + disabled_attr = await btn.get_attribute("disabled") + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 1825, in get_attribute + return mapping.from_maybe_impl(await self._impl_obj.get_attribute(name=name)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 72, in get_attribute + return await self._channel.send("getAttribute", dict(name=name)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.TargetClosedError: ElementHandle.get_attribute: Target page, context or browser has been closed + +[2025-03-25 16:48:26,702] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:48:26,702] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:48:26,703] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 50, 33, 80481, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 50, 33, 83023, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkyNjMzLCJpYXQiOjE3NDI4ODkwMzMsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODkwMzN9XSwic2Vzc2lvbl9pZCI6ImY4MDA2ZDVjLWIxY2MtNDg1ZC04MDU0LTc3NWIyMWFiMDk2MiIsImlzX2Fub255bW91cyI6ZmFsc2V9.9Qzl78FSJtdygt-7APdtBb1_k9yuY3RdPICGe6WPfcU', refresh_token='h7N7wFB-1pmaVGiOs2NBbg', expires_in=3600, expires_at=1742892633, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 50, 33, 80481, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 50, 33, 83023, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:48:26,703] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:48:26,900] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:44:32.821007', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:48:26,916] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:44:32.821007', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:48:27,303] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:48:27,304] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:48:27,318] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:48:27,971] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 16:48:30,750] [MainThread] [INFO] [main_window.py:on_login_button_clicked:153] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 16:48:31,374] [Dummy-2] [INFO] [jjim_runner.py:_start_login:194] 로그인 페이지 접속 +[2025-03-25 16:48:33,502] [Dummy-2] [INFO] [jjim_runner.py:_start_login:211] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 16:48:33,509] [Dummy-2] [INFO] [jjim_runner.py:_start_login:215] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 13를 선택하면 로그인 됩니다. +[2025-03-25 16:48:33,509] [Dummy-2] [INFO] [jjim_runner.py:_start_login:219] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 13를 선택하면 로그인 됩니다. +[2025-03-25 16:48:33,510] [MainThread] [INFO] [main_window.py:on_qr_ready:176] QR 이미지 준비 완료 +[2025-03-25 16:48:33,510] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:48:34,530] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:48:35,545] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:48:36,559] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:48:37,572] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:48:38,588] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:48:39,604] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:48:40,619] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:48:41,627] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://www.naver.com/ +[2025-03-25 16:48:41,649] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:251] qrcode-success 요소 감지: QR 스캔 성공 +[2025-03-25 16:48:41,650] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:257] 최종 로그인 완료 감지: https://www.naver.com/ +[2025-03-25 16:48:41,651] [MainThread] [INFO] [main_window.py:on_login_in_progress:193] 로그인 진행중 메시지 표시 +[2025-03-25 16:48:41,657] [MainThread] [INFO] [main_window.py:on_login_complete:200] 로그인 완료 신호 수신 +[2025-03-25 16:48:42,665] [MainThread] [INFO] [main_window.py:on_qr_ready:189] QR 다이얼로그 자동 종료 +[2025-03-25 16:48:43,818] [MainThread] [INFO] [main_window.py:on_jjim_button_clicked:216] 찜하기 버튼 클릭 +[2025-03-25 16:48:43,819] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:48:43,821] [MainThread] [INFO] [jjim_runner.py:start_jjim:266] 마켓 리스트: [{'id': 1, 'market_name': 'smartstore.naver.com', 'market_url': 'https://smartstore.naver.com/chokbananahouse', 'memo': ''}] +[2025-03-25 16:48:43,821] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:279] smartstore.naver.com 진행 시작 +[2025-03-25 16:48:47,502] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:291] smartstore.naver.com의 전체 상품수: 2185 +[2025-03-25 16:48:47,517] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:302] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 16:48:47,671] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:332] 현재 페이지: 1 +[2025-03-25 16:48:49,733] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:302] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 16:48:49,756] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 1번째 찜버튼 클릭 +[2025-03-25 16:48:50,123] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 2번째 찜버튼 클릭 +[2025-03-25 16:48:50,489] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 3번째 찜버튼 클릭 +[2025-03-25 16:48:50,856] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 4번째 찜버튼 클릭 +[2025-03-25 16:48:51,205] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 5번째 찜버튼 클릭 +[2025-03-25 16:48:51,573] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 6번째 찜버튼 클릭 +[2025-03-25 16:48:51,922] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 7번째 찜버튼 클릭 +[2025-03-25 16:48:52,272] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 8번째 찜버튼 클릭 +[2025-03-25 16:48:52,638] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 9번째 찜버튼 클릭 +[2025-03-25 16:48:52,995] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 10번째 찜버튼 클릭 +[2025-03-25 16:48:53,338] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 11번째 찜버튼 클릭 +[2025-03-25 16:48:53,688] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 12번째 찜버튼 클릭 +[2025-03-25 16:48:54,038] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 13번째 찜버튼 클릭 +[2025-03-25 16:48:54,388] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 14번째 찜버튼 클릭 +[2025-03-25 16:48:54,738] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 15번째 찜버튼 클릭 +[2025-03-25 16:48:55,087] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 16번째 찜버튼 클릭 +[2025-03-25 16:48:55,437] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 17번째 찜버튼 클릭 +[2025-03-25 16:48:55,789] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 18번째 찜버튼 클릭 +[2025-03-25 16:48:56,154] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 19번째 찜버튼 클릭 +[2025-03-25 16:48:56,504] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 20번째 찜버튼 클릭 +[2025-03-25 16:48:56,871] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 21번째 찜버튼 클릭 +[2025-03-25 16:48:57,220] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 22번째 찜버튼 클릭 +[2025-03-25 16:48:57,587] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 23번째 찜버튼 클릭 +[2025-03-25 16:48:58,171] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 24번째 찜버튼 클릭 +[2025-03-25 16:48:58,520] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 25번째 찜버튼 클릭 +[2025-03-25 16:48:58,872] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 26번째 찜버튼 클릭 +[2025-03-25 16:48:59,221] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 27번째 찜버튼 클릭 +[2025-03-25 16:48:59,571] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 28번째 찜버튼 클릭 +[2025-03-25 16:48:59,937] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 29번째 찜버튼 클릭 +[2025-03-25 16:49:00,303] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 30번째 찜버튼 클릭 +[2025-03-25 16:49:00,654] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 31번째 찜버튼 클릭 +[2025-03-25 16:49:01,004] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 32번째 찜버튼 클릭 +[2025-03-25 16:49:01,353] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 33번째 찜버튼 클릭 +[2025-03-25 16:49:01,704] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 34번째 찜버튼 클릭 +[2025-03-25 16:49:02,054] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 35번째 찜버튼 클릭 +[2025-03-25 16:49:02,404] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 36번째 찜버튼 클릭 +[2025-03-25 16:49:02,754] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 37번째 찜버튼 클릭 +[2025-03-25 16:49:03,103] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 38번째 찜버튼 클릭 +[2025-03-25 16:49:03,453] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 39번째 찜버튼 클릭 +[2025-03-25 16:49:03,802] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 40번째 찜버튼 클릭 +[2025-03-25 16:49:04,114] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:332] 현재 페이지: 2 +[2025-03-25 16:49:06,190] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:302] smartstore.naver.com 현재 페이지의 찜버튼 개수: 41 +[2025-03-25 16:49:06,222] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 1번째 찜버튼 클릭 +[2025-03-25 16:49:06,570] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 2번째 찜버튼 클릭 +[2025-03-25 16:49:06,910] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:317] [smartstore.naver.com] 현재 페이지 3번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 312, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 16:49:06,955] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 4번째 찜버튼 클릭 +[2025-03-25 16:49:07,303] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 5번째 찜버튼 클릭 +[2025-03-25 16:49:07,654] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 6번째 찜버튼 클릭 +[2025-03-25 16:49:08,021] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 7번째 찜버튼 클릭 +[2025-03-25 16:49:08,387] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 8번째 찜버튼 클릭 +[2025-03-25 16:49:08,758] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 9번째 찜버튼 클릭 +[2025-03-25 16:49:09,104] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 10번째 찜버튼 클릭 +[2025-03-25 16:49:09,454] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 11번째 찜버튼 클릭 +[2025-03-25 16:49:09,804] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 12번째 찜버튼 클릭 +[2025-03-25 16:49:10,153] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 13번째 찜버튼 클릭 +[2025-03-25 16:49:10,504] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 14번째 찜버튼 클릭 +[2025-03-25 16:49:10,854] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 15번째 찜버튼 클릭 +[2025-03-25 16:49:11,204] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 16번째 찜버튼 클릭 +[2025-03-25 16:49:11,554] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 17번째 찜버튼 클릭 +[2025-03-25 16:49:11,904] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:314] [smartstore.naver.com] 현재 페이지 18번째 찜버튼 클릭 +[2025-03-25 16:55:19,836] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 16:55:19,837] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 16:55:19,837] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 57, 26, 230269, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 57, 26, 232587, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkzMDQ2LCJpYXQiOjE3NDI4ODk0NDYsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODk0NDZ9XSwic2Vzc2lvbl9pZCI6IjAxZmM3Y2I3LWIxYTctNDg5NC1iNTExLTgzZTNiNGMwYmVlYyIsImlzX2Fub255bW91cyI6ZmFsc2V9.cPhjLR3vwu-7GRYx9TO74YPcCveYWvYks2baVhXYa7I', refresh_token='6d2Yr65hgL_P6ABfeKaTug', expires_in=3600, expires_at=1742893046, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 7, 57, 26, 230269, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 7, 57, 26, 232587, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 16:55:19,838] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 16:55:20,062] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:48:26.916121', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 16:55:20,078] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:48:26.916121', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 16:55:21,847] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 16:55:21,848] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 16:55:21,861] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 16:55:22,484] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 16:55:29,632] [MainThread] [INFO] [main_window.py:on_login_button_clicked:153] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 16:55:30,068] [Dummy-2] [INFO] [jjim_runner.py:_start_login:194] 로그인 페이지 접속 +[2025-03-25 16:55:32,195] [Dummy-2] [INFO] [jjim_runner.py:_start_login:211] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 16:55:32,203] [Dummy-2] [INFO] [jjim_runner.py:_start_login:215] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 34를 선택하면 로그인 됩니다. +[2025-03-25 16:55:32,203] [Dummy-2] [INFO] [jjim_runner.py:_start_login:219] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 34를 선택하면 로그인 됩니다. +[2025-03-25 16:55:32,204] [MainThread] [INFO] [main_window.py:on_qr_ready:176] QR 이미지 준비 완료 +[2025-03-25 16:55:32,204] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:55:33,222] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:55:34,230] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:55:35,244] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 16:55:36,264] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/signin/v3/finalize?url=https%3A%2F%2Fwww.naver.com&svctype=1 +[2025-03-25 16:55:36,342] [Dummy-2] [WARNING] [jjim_runner.py:_monitor_login:247] _monitor_login query_selector 예외: Page.query_selector: Execution context was destroyed, most likely because of a navigation +[2025-03-25 16:55:36,342] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:257] 최종 로그인 완료 감지: https://nid.naver.com/signin/v3/finalize?url=https%3A%2F%2Fwww.naver.com&svctype=1 +[2025-03-25 16:55:36,346] [MainThread] [INFO] [main_window.py:on_login_complete:200] 로그인 완료 신호 수신 +[2025-03-25 16:55:37,337] [MainThread] [INFO] [main_window.py:on_qr_ready:189] QR 다이얼로그 자동 종료 +[2025-03-25 17:02:51,283] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 17:02:51,283] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 17:02:51,283] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 8, 4, 57, 692799, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 8, 4, 57, 695359, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkzNDk3LCJpYXQiOjE3NDI4ODk4OTcsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODk4OTd9XSwic2Vzc2lvbl9pZCI6IjAzNjg5OWEwLWEzNGUtNDMyNS05YTU2LWI2ZDRjZjA5MzVmZiIsImlzX2Fub255bW91cyI6ZmFsc2V9.5UpS9NAd65kBQoWutE4RsZcygIOx-3y2JnEPtGMrgGs', refresh_token='AW5NgrY8dW76HGDm91QbJw', expires_in=3600, expires_at=1742893497, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 8, 4, 57, 692799, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 8, 4, 57, 695359, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 17:02:51,284] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 17:02:51,488] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:55:20.079691', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 17:02:51,504] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T07:55:20.079691', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 17:02:51,995] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 17:02:51,996] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 17:02:52,009] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 17:02:52,610] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 17:03:42,826] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 17:03:42,827] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 17:03:42,827] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 8, 5, 49, 239825, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 8, 5, 49, 241459, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkzNTQ5LCJpYXQiOjE3NDI4ODk5NDksImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4ODk5NDl9XSwic2Vzc2lvbl9pZCI6IjViZjAwYzY5LTNjZDEtNGVkNy1iYTM5LTU3ZTkxOGIxZDc4YiIsImlzX2Fub255bW91cyI6ZmFsc2V9.P62CWaNcr7t-wjP68FSFooK_mCDkzz4RnBwvEmnOMXc', refresh_token='oZ4SIsI5orMa-J16hvj0Ig', expires_in=3600, expires_at=1742893549, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 8, 5, 49, 239825, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 8, 5, 49, 241459, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 17:03:42,828] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 17:03:43,033] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T08:02:51.505706', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 17:03:43,050] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T08:02:51.505706', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 17:03:43,152] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 17:03:43,153] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 17:03:43,158] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 17:03:43,898] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 17:03:49,039] [MainThread] [INFO] [main_window.py:on_login_button_clicked:153] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 17:03:49,529] [Dummy-2] [INFO] [jjim_runner.py:_start_login:194] 로그인 페이지 접속 +[2025-03-25 17:03:51,646] [Dummy-2] [INFO] [jjim_runner.py:_start_login:211] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 17:03:51,653] [Dummy-2] [INFO] [jjim_runner.py:_start_login:215] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 71를 선택하면 로그인 됩니다. +[2025-03-25 17:03:51,654] [MainThread] [INFO] [main_window.py:on_qr_ready:176] QR 이미지 준비 완료 +[2025-03-25 17:03:51,654] [Dummy-2] [INFO] [jjim_runner.py:_start_login:219] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 71를 선택하면 로그인 됩니다. +[2025-03-25 17:03:51,659] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:03:52,674] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:03:53,687] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:03:54,691] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:03:55,696] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:03:56,712] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:03:57,726] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:03:58,739] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:03:59,754] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:04:00,770] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:04:01,783] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:04:02,795] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:04:03,811] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:04:04,823] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:04:05,828] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://www.naver.com/ +[2025-03-25 17:04:05,839] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:251] qrcode-success 요소 감지: QR 스캔 성공 +[2025-03-25 17:04:05,839] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:257] 최종 로그인 완료 감지: https://www.naver.com/ +[2025-03-25 17:04:05,840] [MainThread] [INFO] [main_window.py:on_login_in_progress:193] 로그인 진행중 메시지 표시 +[2025-03-25 17:04:05,846] [MainThread] [INFO] [main_window.py:on_login_complete:200] 로그인 완료 신호 수신 +[2025-03-25 17:04:06,851] [MainThread] [INFO] [main_window.py:on_qr_ready:189] QR 다이얼로그 자동 종료 +[2025-03-25 17:04:08,140] [MainThread] [INFO] [main_window.py:on_jjim_button_clicked:216] 찜하기 버튼 클릭 +[2025-03-25 17:04:08,142] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 17:04:08,143] [MainThread] [INFO] [jjim_runner.py:start_jjim:266] 마켓 리스트: [{'id': 1, 'market_name': 'smartstore.naver.com', 'market_url': 'https://smartstore.naver.com/chokbananahouse', 'memo': ''}] +[2025-03-25 17:04:08,144] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:277] smartstore.naver.com 진행 시작 +[2025-03-25 17:04:11,862] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:289] smartstore.naver.com의 전체 상품수: 2185 +[2025-03-25 17:04:11,875] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:04:12,036] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 1 +[2025-03-25 17:04:12,603] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:04:12,645] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:04:12,794] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:04:13,069] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 2 +[2025-03-25 17:04:13,669] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:04:13,718] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:04:14,198] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:04:14,373] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:04:14,528] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:04:14,693] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:04:14,841] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:04:14,990] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:04:15,141] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:04:15,291] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:04:15,457] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:04:15,615] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:04:15,758] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:04:15,923] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:04:16,073] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:04:16,224] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:04:16,391] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:04:16,541] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:04:16,690] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:04:16,840] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:04:16,976] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:04:17,142] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:04:17,291] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:04:17,441] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:04:17,591] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:04:17,702] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 3 +[2025-03-25 17:04:18,285] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:04:18,354] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:04:18,507] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:04:18,669] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:04:18,824] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:04:18,976] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:04:19,140] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:04:19,291] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:04:19,457] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:04:19,607] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:04:19,771] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:04:19,931] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:04:20,093] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:04:20,257] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:04:20,407] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:04:20,557] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:04:20,708] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:04:20,858] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:04:21,009] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:04:21,157] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:04:21,308] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:04:21,456] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:04:21,605] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:04:21,757] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:04:21,909] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:04:22,076] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:04:22,223] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:04:22,373] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:04:22,525] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:04:22,674] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:04:22,824] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:04:22,974] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:04:23,125] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:04:23,273] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:04:23,422] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:04:23,573] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:04:23,724] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:04:23,873] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:04:24,023] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:04:24,173] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:04:24,323] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:04:24,442] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 4 +[2025-03-25 17:04:25,010] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:04:25,057] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:04:25,207] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:04:25,355] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:04:25,507] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:04:25,675] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:04:25,823] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:04:25,976] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:04:26,139] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:04:26,290] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:04:26,456] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:04:26,621] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:04:26,775] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:04:26,939] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:04:27,091] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:04:27,240] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:04:27,389] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:04:27,540] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:04:27,691] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:04:27,840] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:04:27,992] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:04:28,140] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:04:28,290] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:04:28,440] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:04:28,591] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:04:28,741] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:04:28,890] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:04:29,040] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:04:29,191] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:04:29,369] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:04:29,523] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:04:29,678] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:04:29,822] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:04:29,972] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:04:30,121] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:04:30,273] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:04:30,423] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:04:30,573] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:04:30,722] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:04:30,872] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:04:31,022] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:04:31,135] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 5 +[2025-03-25 17:04:31,720] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:04:31,790] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:04:31,941] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:04:32,092] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:04:32,258] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:04:32,406] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:04:32,555] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:04:32,707] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:04:32,856] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:04:33,012] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:04:33,173] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:04:33,332] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:04:33,493] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:04:33,638] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:04:33,791] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:04:33,960] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:04:34,107] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:04:34,255] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:04:34,405] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:04:34,558] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:04:34,707] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:04:34,857] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:04:35,010] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:04:35,155] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:04:35,307] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:04:35,455] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:04:35,605] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:04:35,757] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:04:35,906] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:04:36,073] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:04:36,223] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:04:36,372] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:04:36,525] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:04:36,691] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:04:36,840] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:04:36,990] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:04:37,124] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:04:37,274] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:04:37,423] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:04:37,573] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:04:37,723] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:04:37,838] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 6 +[2025-03-25 17:04:38,430] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:04:38,474] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:04:38,622] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:04:38,772] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:04:38,942] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:04:39,088] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:04:39,240] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:04:39,388] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:04:39,540] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:04:39,714] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:04:39,872] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:04:40,029] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:04:40,189] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:04:40,339] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:04:40,490] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:04:40,637] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:04:40,792] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:04:40,941] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:04:41,090] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:04:41,242] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:04:41,388] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:04:41,573] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:04:41,723] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:04:41,873] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:04:42,024] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:04:42,173] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:04:42,322] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:04:42,472] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:04:42,623] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:04:42,772] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:04:42,923] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:04:43,072] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:04:43,222] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:04:43,373] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:04:43,522] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:04:43,674] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:04:43,823] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:04:43,973] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:04:44,124] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:04:44,290] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:04:44,457] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:04:44,571] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 7 +[2025-03-25 17:04:45,162] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:04:45,321] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 7 +[2025-03-25 17:04:45,979] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 41 +[2025-03-25 17:04:46,024] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:04:46,172] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:04:46,322] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:04:46,472] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:04:46,622] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:04:46,773] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:04:46,923] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:04:47,073] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:04:47,223] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:04:47,370] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:04:47,523] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:04:47,691] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:04:47,840] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:04:47,991] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:04:48,139] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:04:48,291] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:04:48,440] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:04:48,590] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:04:48,737] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:04:48,906] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:04:49,057] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:04:49,207] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:04:49,354] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:04:49,508] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:04:49,656] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:04:49,806] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:04:49,958] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:04:50,104] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:04:50,254] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:04:50,406] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:04:50,557] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:04:50,718] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:04:50,856] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:04:51,025] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:04:51,177] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:04:51,324] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:04:51,472] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:04:51,625] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:08:26,937] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 17:08:26,938] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 17:08:26,938] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 8, 10, 33, 358615, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 8, 10, 33, 361295, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODkzODMzLCJpYXQiOjE3NDI4OTAyMzMsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4OTAyMzN9XSwic2Vzc2lvbl9pZCI6ImNmMTkzNzhjLWFmZTMtNDM2Zi04MDY5LTFhOThiZTVlZDBjMyIsImlzX2Fub255bW91cyI6ZmFsc2V9.97ixjFwSLgkWBMbzO-VxaEJYAjkmoZL2GZo4RUM-Gcs', refresh_token='Jhj7z1xbot7tlfYIc-0K6g', expires_in=3600, expires_at=1742893833, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 8, 10, 33, 358615, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 8, 10, 33, 361295, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 17:08:26,939] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 17:08:27,179] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T08:03:43.05162', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 17:08:27,195] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T08:03:43.05162', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 17:08:27,559] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 17:08:27,560] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 17:08:27,565] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 17:08:28,186] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 17:08:31,779] [MainThread] [INFO] [main_window.py:on_login_button_clicked:153] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 17:08:32,161] [Dummy-2] [INFO] [jjim_runner.py:_start_login:194] 로그인 페이지 접속 +[2025-03-25 17:08:34,290] [Dummy-2] [INFO] [jjim_runner.py:_start_login:211] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 17:08:34,298] [Dummy-2] [INFO] [jjim_runner.py:_start_login:215] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 85를 선택하면 로그인 됩니다. +[2025-03-25 17:08:34,298] [Dummy-2] [INFO] [jjim_runner.py:_start_login:219] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 85를 선택하면 로그인 됩니다. +[2025-03-25 17:08:34,299] [MainThread] [INFO] [main_window.py:on_qr_ready:176] QR 이미지 준비 완료 +[2025-03-25 17:08:34,299] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:35,319] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:36,331] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:37,350] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:38,364] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:39,367] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:40,379] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:41,393] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:42,407] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:43,418] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:44,434] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:45,447] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:46,460] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:47,473] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:48,490] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:49,494] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:50,503] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:51,519] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:08:52,546] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://www.naver.com/ +[2025-03-25 17:08:52,563] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:251] qrcode-success 요소 감지: QR 스캔 성공 +[2025-03-25 17:08:52,563] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:257] 최종 로그인 완료 감지: https://www.naver.com/ +[2025-03-25 17:08:52,564] [MainThread] [INFO] [main_window.py:on_login_in_progress:193] 로그인 진행중 메시지 표시 +[2025-03-25 17:08:52,570] [MainThread] [INFO] [main_window.py:on_login_complete:200] 로그인 완료 신호 수신 +[2025-03-25 17:08:53,572] [MainThread] [INFO] [main_window.py:on_qr_ready:189] QR 다이얼로그 자동 종료 +[2025-03-25 17:12:33,079] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 17:12:33,079] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 17:12:33,080] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 8, 14, 39, 513282, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 8, 14, 39, 515094, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODk0MDc5LCJpYXQiOjE3NDI4OTA0NzksImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4OTA0Nzl9XSwic2Vzc2lvbl9pZCI6IjQ2ZGIzN2U4LTU5NGYtNDE4My1hYWE3LTM0ZGY5ZjI0ZjZmMiIsImlzX2Fub255bW91cyI6ZmFsc2V9.3Lu3RSa14purRIIE_6nYIHS8ANitplqjr0pNyQLSxRE', refresh_token='DpZiYebcAp0LvdbXDErOZQ', expires_in=3600, expires_at=1742894079, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 8, 14, 39, 513282, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 8, 14, 39, 515094, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 17:12:33,081] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 17:12:33,285] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T08:08:27.196703', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 17:12:33,303] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T08:08:27.196703', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 17:12:33,677] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 17:12:33,678] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 17:12:33,684] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 17:12:34,302] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 17:13:48,012] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 17:13:48,012] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 17:13:48,012] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 8, 15, 54, 447279, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 8, 15, 54, 449571, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyODk0MTU0LCJpYXQiOjE3NDI4OTA1NTQsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI4OTA1NTR9XSwic2Vzc2lvbl9pZCI6IjkzODk0ODBlLWU4NDAtNGZhMy05NDQ4LTRhNjg4NDQ3M2MyZSIsImlzX2Fub255bW91cyI6ZmFsc2V9.dhIPa4dfoG-uU5RNOwZJnw78sux0sL5zjM4GVbxDLbc', refresh_token='tfXMQVU89RbsD3rA4DkZUg', expires_in=3600, expires_at=1742894154, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 8, 15, 54, 447279, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 8, 15, 54, 449571, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 17:13:48,013] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 17:13:48,193] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T08:12:33.303848', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 17:13:48,209] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T08:12:33.303848', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 17:13:48,709] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 17:13:48,710] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 17:13:48,715] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 17:13:49,334] [Dummy-2] [INFO] [jjim_runner.py:start_browser:170] 브라우저 초기화 완료 +[2025-03-25 17:13:53,429] [MainThread] [INFO] [main_window.py:on_login_button_clicked:169] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 17:13:53,884] [Dummy-2] [INFO] [jjim_runner.py:_start_login:194] 로그인 페이지 접속 +[2025-03-25 17:13:55,999] [Dummy-2] [INFO] [jjim_runner.py:_start_login:211] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 17:13:56,006] [Dummy-2] [INFO] [jjim_runner.py:_start_login:215] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 75를 선택하면 로그인 됩니다. +[2025-03-25 17:13:56,007] [Dummy-2] [INFO] [jjim_runner.py:_start_login:219] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 75를 선택하면 로그인 됩니다. +[2025-03-25 17:13:56,007] [MainThread] [INFO] [main_window.py:on_qr_ready:192] QR 이미지 준비 완료 +[2025-03-25 17:13:56,007] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:13:57,036] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:13:58,040] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:13:59,057] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:14:00,072] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:14:01,084] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 17:14:02,106] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:237] [_monitor_login] 현재 URL: https://www.naver.com/ +[2025-03-25 17:14:02,322] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:251] qrcode-success 요소 감지: QR 스캔 성공 +[2025-03-25 17:14:02,323] [Dummy-2] [INFO] [jjim_runner.py:_monitor_login:257] 최종 로그인 완료 감지: https://www.naver.com/ +[2025-03-25 17:14:02,323] [MainThread] [INFO] [main_window.py:on_login_in_progress:209] 로그인 진행중 메시지 표시 +[2025-03-25 17:14:02,329] [MainThread] [INFO] [main_window.py:on_login_complete:216] 로그인 완료 신호 수신 +[2025-03-25 17:14:03,336] [MainThread] [INFO] [main_window.py:on_qr_ready:205] QR 다이얼로그 자동 종료 +[2025-03-25 17:14:05,977] [MainThread] [INFO] [main_window.py:on_jjim_button_clicked:239] 찜하기 버튼 클릭 +[2025-03-25 17:14:05,979] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 17:14:05,980] [MainThread] [INFO] [jjim_runner.py:start_jjim:266] 마켓 리스트: [{'id': 1, 'market_name': 'smartstore.naver.com', 'market_url': 'https://smartstore.naver.com/chokbananahouse', 'memo': ''}] +[2025-03-25 17:14:05,981] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:277] smartstore.naver.com 진행 시작 +[2025-03-25 17:14:09,215] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:289] smartstore.naver.com의 전체 상품수: 2185 +[2025-03-25 17:14:09,229] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:09,381] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 1 +[2025-03-25 17:14:09,956] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:10,008] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:10,176] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:10,441] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 2 +[2025-03-25 17:14:11,010] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:11,064] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:11,204] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:11,356] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:14:11,605] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 3 +[2025-03-25 17:14:12,169] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:12,221] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:12,474] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 4 +[2025-03-25 17:14:13,070] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:13,108] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:13,254] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:13,518] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 5 +[2025-03-25 17:14:14,093] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:14,138] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:14,408] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 6 +[2025-03-25 17:14:14,994] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:15,038] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:15,285] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 7 +[2025-03-25 17:14:15,862] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:15,903] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:16,055] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:16,339] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:14:16,489] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:14:16,609] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 8 +[2025-03-25 17:14:17,192] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 41 +[2025-03-25 17:14:17,237] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:17,398] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:17,559] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:14:17,711] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 4번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:14:17,755] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:14:17,904] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:14:18,054] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:14:18,205] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:14:18,354] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:14:18,506] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:14:18,654] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:14:18,804] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:14:18,955] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:14:19,119] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:14:19,271] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:14:19,592] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:14:19,754] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:14:19,905] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:14:20,054] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:14:20,205] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:14:20,354] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:14:20,505] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:14:20,654] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:14:20,804] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:14:20,954] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:14:21,103] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:14:21,253] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:14:21,404] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:14:21,555] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:14:21,704] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:14:21,854] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:14:22,004] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:14:22,155] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:14:22,303] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:14:22,454] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:14:22,626] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:14:22,770] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:14:22,921] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:14:23,069] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:14:23,219] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:14:23,371] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 41번째 버튼 클릭 +[2025-03-25 17:14:23,490] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 9 +[2025-03-25 17:14:24,072] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:24,123] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:24,274] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:24,420] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:14:24,589] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:14:24,748] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:14:24,904] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:14:25,070] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:14:25,218] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:14:25,370] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:14:25,519] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:14:25,670] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:14:25,821] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:14:25,972] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:14:26,138] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:14:26,291] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:14:26,456] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:14:26,604] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:14:26,753] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:14:26,926] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:14:27,071] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:14:27,221] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:14:27,372] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:14:27,542] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:14:27,689] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:14:27,856] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:14:28,003] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:14:28,176] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:14:28,323] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:14:28,504] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:14:28,656] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:14:28,805] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:14:28,954] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:14:29,102] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:14:29,254] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:14:29,403] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:14:29,553] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:14:29,704] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:14:29,854] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:14:30,005] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:14:30,156] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:14:30,276] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 10 +[2025-03-25 17:14:30,874] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:30,941] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:31,086] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:31,348] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 11 +[2025-03-25 17:14:31,919] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:31,974] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:32,122] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:32,270] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:14:32,422] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:14:32,570] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:14:32,721] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:14:32,872] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:14:33,044] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:14:33,202] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:14:33,354] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:14:33,504] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:14:33,655] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:14:33,805] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:14:33,957] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:14:34,106] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:14:34,257] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:14:34,425] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:14:34,571] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:14:34,721] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:14:34,872] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:14:35,022] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:14:35,185] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:14:35,341] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:14:35,505] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:14:35,655] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:14:35,788] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:14:35,937] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:14:36,100] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:14:36,255] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:14:36,405] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:14:36,575] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:14:36,736] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:14:36,888] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:14:37,056] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:14:37,209] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:14:37,357] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:14:37,520] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:14:37,671] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:14:37,844] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:14:38,003] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:14:38,117] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 12 +[2025-03-25 17:14:38,689] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:38,741] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:38,888] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:39,037] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:14:39,186] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:14:39,337] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:14:39,503] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:14:39,654] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:14:39,804] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:14:39,953] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:14:40,104] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:14:40,255] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:14:40,405] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:14:40,553] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:14:40,704] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:14:40,852] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:14:41,005] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:14:41,152] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:14:41,304] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:14:41,453] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:14:41,603] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:14:41,755] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:14:41,905] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:14:42,055] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:14:42,221] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:14:42,373] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:14:42,536] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:14:42,697] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:14:42,838] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:14:42,988] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:14:43,137] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:14:43,309] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:14:43,469] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:14:43,623] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:14:43,773] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:14:43,920] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:14:44,087] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:14:44,238] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:14:44,386] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:14:44,536] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:14:44,687] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:14:44,798] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 13 +[2025-03-25 17:14:45,396] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:45,438] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:45,587] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:45,737] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:14:45,887] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:14:46,037] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:14:46,186] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:14:46,354] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:14:46,519] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:14:46,669] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:14:46,822] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:14:46,970] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:14:47,118] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:14:47,271] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:14:47,422] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:14:47,571] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:14:47,740] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:14:47,886] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:14:48,038] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:14:48,186] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:14:48,339] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:14:48,488] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:14:48,638] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:14:48,788] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:14:48,957] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:14:49,102] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:14:49,253] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:14:49,402] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:14:49,554] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:14:49,703] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:14:49,853] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:14:50,003] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:14:50,154] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:14:50,304] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:14:50,454] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:14:50,604] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:14:50,754] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:14:50,920] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:14:51,071] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:14:51,220] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:14:51,371] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:14:51,492] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 14 +[2025-03-25 17:14:52,070] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:52,120] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:52,286] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:52,446] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:14:52,603] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:14:52,754] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:14:52,906] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:14:53,069] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:14:53,219] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:14:53,370] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:14:53,521] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:14:53,671] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:14:53,820] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:14:53,970] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:14:54,137] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:14:54,295] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:14:54,436] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:14:54,588] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:14:54,737] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:14:54,887] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:14:55,037] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:14:55,185] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:14:55,335] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:14:55,487] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:14:55,638] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:14:55,786] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:14:55,939] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:14:56,107] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:14:56,252] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:14:56,403] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:14:56,553] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:14:56,702] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:14:56,852] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:14:57,004] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:14:57,152] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:14:57,339] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:14:57,486] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:14:57,636] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:14:57,787] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:14:57,936] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:14:58,087] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:14:58,200] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 15 +[2025-03-25 17:14:58,792] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:14:58,854] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:14:59,007] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:14:59,135] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:14:59,287] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:14:59,437] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:14:59,589] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:14:59,754] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:14:59,903] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:15:00,055] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:15:00,205] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:15:00,378] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:15:00,536] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:15:00,686] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:15:00,837] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:15:00,989] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:15:01,152] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:15:01,304] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:15:01,485] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:15:01,636] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:15:01,788] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:15:01,938] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:15:02,088] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:15:02,238] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:15:02,386] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:15:02,536] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:15:02,686] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:15:02,853] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:15:03,003] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:15:03,153] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:15:03,305] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:15:03,452] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:15:03,604] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:15:03,756] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:15:03,919] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:15:04,072] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:15:04,219] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:15:04,370] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:15:04,519] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:15:04,681] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:15:04,836] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:15:04,955] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 16 +[2025-03-25 17:15:05,534] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:15:05,591] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:15:05,735] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:15:05,888] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:15:06,037] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:15:06,187] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:15:06,335] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:15:06,484] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:15:06,637] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:15:06,788] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:15:06,952] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:15:07,108] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:15:07,254] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:15:07,402] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:15:07,559] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:15:07,727] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:15:07,888] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:15:08,037] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:15:08,186] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:15:08,357] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:15:08,520] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:15:08,671] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:15:08,818] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:15:08,986] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:15:09,134] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:15:09,285] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:15:09,438] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:15:09,585] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:15:09,737] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:15:09,888] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:15:10,037] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:15:10,207] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:15:10,352] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:15:10,502] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:15:10,651] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:15:10,803] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:15:10,969] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:15:11,118] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:15:11,274] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:15:11,438] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:15:11,586] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:15:11,708] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 17 +[2025-03-25 17:15:12,293] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:15:12,339] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:15:12,486] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:15:12,636] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:15:12,787] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:15:12,935] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:15:13,088] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:15:13,252] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:15:13,402] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:15:13,553] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:15:13,702] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:15:13,854] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:15:14,029] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:15:14,186] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:15:14,336] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:15:14,518] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:15:14,690] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:15:14,837] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:15:14,985] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:15:15,135] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:15:15,286] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:15:15,436] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:15:15,584] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:15:15,735] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:15:15,919] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:15:16,071] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:15:16,237] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:15:16,390] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:15:16,536] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:15:16,687] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:15:16,836] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:15:16,985] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:15:17,150] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:15:17,301] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:15:17,452] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:15:17,602] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:15:17,753] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:15:17,904] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:15:18,053] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:15:18,202] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:15:18,352] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:15:18,464] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 18 +[2025-03-25 17:15:19,033] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:15:19,069] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:15:19,235] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:15:19,394] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:15:19,553] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:15:19,702] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:15:19,884] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:15:20,035] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:15:20,186] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:15:20,336] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:15:20,484] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:15:20,635] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:15:20,787] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:15:20,934] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:15:21,086] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:15:21,238] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:15:21,385] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:15:21,535] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:15:21,687] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:15:21,836] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:15:21,988] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:15:22,139] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:15:22,302] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:15:22,457] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:15:22,619] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:15:22,769] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:15:22,917] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:15:23,068] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:15:23,221] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:15:23,368] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:15:23,519] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:15:23,668] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:15:23,819] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:15:23,988] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:15:24,134] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:15:24,288] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:15:24,453] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:15:24,601] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:15:24,751] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:15:24,913] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:15:25,068] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:15:25,184] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 19 +[2025-03-25 17:15:25,782] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:15:25,823] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:15:25,972] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:15:26,142] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:15:26,302] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:15:26,469] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:15:26,619] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:15:26,768] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:15:26,935] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:15:27,086] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:15:27,237] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:15:27,385] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:15:27,538] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:15:27,701] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:15:27,871] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:15:28,035] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:15:28,198] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:15:28,385] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:15:28,537] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:15:28,685] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:15:28,835] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:15:28,985] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:15:29,136] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:15:29,284] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:15:29,436] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:15:29,586] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:15:29,734] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:15:29,886] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:15:30,035] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:15:30,189] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:15:30,336] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:15:30,485] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:15:30,636] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:15:30,785] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:15:30,934] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:15:31,084] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:15:31,236] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:15:31,385] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:15:31,551] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:15:31,701] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:15:31,867] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:15:31,978] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 20 +[2025-03-25 17:15:32,584] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:15:32,637] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:15:32,785] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:15:32,939] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:15:33,087] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:15:33,236] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:15:33,388] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:15:33,535] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:15:33,685] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:15:33,837] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:15:33,984] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:15:34,135] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:15:34,287] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:15:34,436] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:15:34,586] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:15:34,737] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:15:34,898] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:15:35,051] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:15:35,206] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:15:35,369] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:15:35,517] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:15:35,669] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:15:35,839] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:15:35,984] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:15:36,136] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:15:36,284] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:15:36,435] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:15:36,598] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:15:36,751] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:15:36,901] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:15:37,053] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:15:37,216] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:15:37,368] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:15:37,536] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:15:37,687] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:15:37,819] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:15:37,969] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:15:38,117] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:15:38,267] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:15:38,435] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:15:38,549] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 21 +[2025-03-25 17:15:39,132] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:15:39,168] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:15:39,318] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:15:39,492] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:15:39,651] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:15:39,803] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:15:39,952] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:15:40,103] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:15:40,257] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:15:40,418] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:15:40,568] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:15:40,724] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:15:40,885] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:15:41,036] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:15:41,185] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:15:41,337] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:15:41,486] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:15:41,634] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:15:41,785] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:15:41,936] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:15:42,102] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:15:42,251] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:15:42,402] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:15:42,555] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:15:42,703] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:15:42,868] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:15:43,019] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:15:43,166] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:15:43,321] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:15:43,471] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:15:43,617] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:15:43,767] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:15:43,919] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:15:44,088] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:15:44,236] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:15:44,385] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:15:44,537] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:15:44,685] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:15:44,837] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:15:44,985] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:15:45,133] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:15:45,247] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 22 +[2025-03-25 17:15:45,844] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:15:45,885] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:15:46,034] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:15:46,185] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:15:46,333] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:15:46,483] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:15:46,635] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:15:46,786] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:15:46,934] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:15:47,069] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:15:47,217] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:15:47,367] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:15:47,519] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:15:47,668] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:15:47,817] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:15:47,968] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:15:48,120] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:15:48,284] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:15:48,433] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:15:48,587] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:15:48,754] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:15:48,901] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:15:49,052] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:15:49,200] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:15:49,354] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:15:49,502] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:15:49,768] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:15:49,917] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:15:50,067] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:15:50,217] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:15:50,368] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:15:50,517] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:15:50,668] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:15:50,819] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:15:50,967] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:15:51,117] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:15:51,266] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:15:51,418] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:15:51,569] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:15:51,722] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:15:51,884] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:15:51,998] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 23 +[2025-03-25 17:15:52,573] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:15:52,620] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:15:52,772] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:15:52,943] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:15:53,066] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:15:53,216] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:15:53,368] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:15:53,519] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:15:53,667] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:15:53,822] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:15:53,984] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:15:54,142] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:15:54,285] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:15:54,454] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:15:54,601] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:15:54,752] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:15:54,901] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:15:55,053] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:15:55,199] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:15:55,368] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:15:55,518] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:15:55,668] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:15:55,818] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:15:55,968] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:15:56,120] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:15:56,268] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:15:56,416] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:15:56,567] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:15:56,719] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:15:56,868] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:15:57,026] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:15:57,167] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:15:57,318] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:15:57,466] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:15:57,617] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:15:57,767] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:15:57,917] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:15:58,070] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:15:58,233] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:15:58,385] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:15:58,549] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:15:58,664] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 24 +[2025-03-25 17:15:59,233] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:15:59,327] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:15:59,485] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:15:59,651] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:15:59,801] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:15:59,950] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:16:00,100] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:16:00,260] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:16:00,418] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:16:00,583] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:16:00,734] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:16:00,884] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:16:01,035] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:16:01,183] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:16:01,335] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:16:01,483] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:16:01,637] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:16:01,810] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:16:01,967] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:16:02,121] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:16:02,284] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:16:02,434] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:16:02,585] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:16:02,733] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:16:02,903] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:16:03,051] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:16:03,208] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:16:03,372] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:16:03,519] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:16:03,685] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:16:03,835] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:16:04,004] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:16:04,151] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:16:04,303] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:16:04,467] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:16:04,620] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:16:04,767] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:16:04,917] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:16:05,068] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:16:05,235] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:16:05,366] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:16:05,484] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 25 +[2025-03-25 17:16:06,055] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:16:06,103] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:16:06,251] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:16:06,400] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:16:06,551] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:16:06,702] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:16:06,850] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:16:07,000] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:16:07,154] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:16:07,302] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:16:07,468] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:16:07,626] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:16:07,784] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:16:07,933] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:16:08,066] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:16:08,219] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:16:08,369] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:16:08,517] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:16:08,667] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:16:08,816] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:16:08,966] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:16:09,116] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:16:09,266] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:16:09,418] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:16:09,567] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:16:09,718] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:16:09,886] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:16:10,041] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:16:10,185] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:16:10,335] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:16:10,484] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:16:10,633] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:16:10,784] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:16:10,949] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:16:11,098] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:16:11,249] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:16:11,400] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:16:11,550] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:16:11,700] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:16:11,851] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:16:12,001] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:16:12,110] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 26 +[2025-03-25 17:16:12,688] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:16:12,736] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:16:12,883] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:16:13,032] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:16:13,182] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:16:13,351] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:16:13,501] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:16:13,651] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:16:13,816] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:16:13,968] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:16:14,133] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:16:14,293] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:16:14,454] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:16:14,619] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:16:14,768] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:16:14,917] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:16:15,067] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:16:15,215] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:16:15,367] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:16:15,516] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:16:15,669] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:16:15,819] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:16:15,967] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:16:16,116] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:16:16,267] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:16:16,415] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:16:16,569] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:16:16,716] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:16:16,866] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:16:17,017] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:16:17,166] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:16:17,317] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:16:17,470] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:16:17,616] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:16:17,767] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:16:17,917] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:16:18,067] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:16:18,216] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:16:18,365] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:16:18,516] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:16:18,667] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:16:18,785] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 27 +[2025-03-25 17:16:19,389] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:16:19,462] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:16:19,618] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:16:19,776] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:16:19,917] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:16:20,068] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:16:20,217] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:16:20,368] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:16:20,532] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:16:20,683] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:16:20,851] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:16:21,007] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:16:21,153] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:16:21,301] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:16:21,466] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:16:21,621] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:16:21,766] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:16:21,915] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:16:22,066] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:16:22,216] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:16:22,367] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:16:22,517] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:16:22,667] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:16:22,816] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:16:22,967] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:16:23,115] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:16:23,267] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:16:23,419] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:16:23,567] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:16:23,718] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:16:23,866] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:16:24,017] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:16:24,167] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:16:24,317] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:16:24,466] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:16:24,616] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:16:24,767] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:16:24,916] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:16:25,067] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:16:25,236] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:16:25,383] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:16:25,493] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 28 +[2025-03-25 17:16:26,063] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:16:26,118] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:16:26,265] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:16:26,416] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:16:26,567] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:16:26,717] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:16:26,917] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:16:27,067] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:16:27,215] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:16:27,366] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:16:27,533] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:16:27,692] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:16:27,851] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:16:28,002] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:16:28,149] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:16:28,299] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:16:28,450] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:16:28,599] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:16:28,748] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:16:28,901] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:16:29,048] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:16:29,198] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:16:29,352] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:16:29,499] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:16:29,668] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:16:29,816] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:16:29,966] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:16:30,115] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:16:30,267] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:16:30,417] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:16:30,567] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:16:30,717] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:16:30,868] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:16:31,035] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:16:31,182] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:16:31,331] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:16:31,484] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:16:31,633] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:16:31,783] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:16:31,933] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:16:32,085] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:16:32,198] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 29 +[2025-03-25 17:16:32,785] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:16:32,835] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:16:32,982] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:16:33,132] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:16:33,283] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:16:33,432] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:16:33,585] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:16:33,733] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:16:33,884] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:16:34,034] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:16:34,183] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:16:34,333] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:16:34,485] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:16:34,632] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:16:34,783] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:16:34,935] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:16:35,083] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:16:35,232] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:16:35,382] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:16:35,532] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:16:35,684] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:16:35,833] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:16:35,998] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:16:36,155] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:16:36,299] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:16:36,450] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:16:36,600] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:16:36,749] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:16:36,899] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:16:37,049] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:16:37,199] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:16:37,349] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:16:37,501] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:16:37,649] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:16:37,798] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:16:37,951] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:16:38,117] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:16:38,268] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:16:38,418] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:16:38,566] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:16:38,717] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:16:38,826] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 30 +[2025-03-25 17:16:39,426] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:16:39,476] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:16:39,631] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:16:39,794] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:16:39,950] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:16:40,099] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:16:40,252] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:16:40,416] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:16:40,566] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:16:40,715] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:16:40,866] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:16:41,037] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:16:41,183] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:16:41,350] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:16:41,499] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:16:41,649] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:16:41,799] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:16:41,950] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:16:42,109] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:16:42,249] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:16:42,399] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:16:42,551] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:16:42,717] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:16:42,897] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:16:43,049] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:16:43,199] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:16:43,349] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:16:43,498] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:16:43,650] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:16:43,800] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:16:43,949] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:16:44,098] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:16:44,249] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:16:44,399] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:16:44,549] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:16:44,699] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:16:44,850] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:16:45,000] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:16:45,149] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:16:45,300] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:16:45,449] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:16:45,558] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 31 +[2025-03-25 17:16:46,121] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:16:46,190] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:16:46,333] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:16:46,490] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:16:46,636] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:16:46,783] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:16:46,933] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:16:47,093] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:16:47,251] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:16:47,415] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:16:47,565] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:16:47,716] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:16:47,871] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:16:48,034] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:16:48,182] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:16:48,333] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:16:48,492] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:16:48,649] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:16:48,799] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:16:48,952] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:16:49,099] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:16:49,266] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:16:49,416] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:16:49,589] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:16:49,750] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:16:49,901] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:16:50,049] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:16:50,199] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:16:50,349] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:16:50,500] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:16:50,650] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:16:50,800] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:16:50,948] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:16:51,098] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:16:51,248] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:16:51,397] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:16:51,549] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:16:51,699] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:16:51,848] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:16:52,000] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:16:52,148] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:16:52,265] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 32 +[2025-03-25 17:16:52,836] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:16:53,029] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 33 +[2025-03-25 17:16:53,604] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 41 +[2025-03-25 17:16:53,652] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:16:53,790] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 2번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:53,823] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 3번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:53,856] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 4번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:53,889] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 5번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:53,925] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 6번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:53,956] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 7번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:53,989] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 8번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,022] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 9번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,055] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 10번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,088] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 11번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,121] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 12번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,155] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 13번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,188] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 14번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,228] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 15번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,255] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 16번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,288] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 17번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,322] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 18번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,379] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 19번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,405] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 20번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,438] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 21번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,471] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 22번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,505] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 23번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,540] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 24번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,578] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 25번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,605] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 26번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,638] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 27번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,671] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 28번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,705] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 29번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,739] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 30번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,771] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 31번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,805] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 32번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,839] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 33번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,871] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 34번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,905] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 35번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,938] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 36번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:54,968] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 37번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:55,004] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 38번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:55,038] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 39번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:55,071] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 40번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:55,104] [Dummy-2] [ERROR] [jjim_runner.py:_start_jjim:322] [smartstore.naver.com] 41번째 버튼 클릭 오류: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 318, in _start_jjim + await btn.click() + File "D:\py\jjim2\Lib\site-packages\playwright\async_api\_generated.py", line 2128, in click + await self._impl_obj.click( + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_element_handle.py", line 132, in click + await self._channel.send("click", locals_to_params(locals())) + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send + return await self._connection.wrap_api_call( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\py\jjim2\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call + raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None +playwright._impl._errors.Error: ElementHandle.click: Element is not attached to the DOM +Call log: + - attempting click action + - - waiting for element to be visible, enabled and stable + + +[2025-03-25 17:16:55,111] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 34 +[2025-03-25 17:16:55,687] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:16:55,733] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:16:55,883] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:16:56,033] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:16:56,200] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:16:56,349] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:16:56,499] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:16:56,650] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:16:56,798] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:16:56,950] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:16:57,097] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:16:57,249] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:16:57,402] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:16:57,549] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:16:57,699] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:16:57,849] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:16:58,000] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:16:58,153] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:16:58,300] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:16:58,448] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:16:58,601] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:16:58,747] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:16:58,899] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:16:59,049] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:16:59,199] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:16:59,350] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:16:59,498] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:16:59,650] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:16:59,802] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:16:59,950] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:17:00,117] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:17:00,271] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:17:00,417] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:17:00,566] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:17:00,716] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:17:00,865] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:17:01,018] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:17:01,182] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:17:01,332] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:17:01,500] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:17:01,650] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:17:01,757] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 35 +[2025-03-25 17:17:02,347] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:17:02,401] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:17:02,549] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:17:02,698] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:17:02,850] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:17:02,999] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:17:03,146] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:17:03,298] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:17:03,450] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:17:03,597] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:17:03,748] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:17:03,923] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:17:04,081] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:17:04,232] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:17:04,383] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:17:04,534] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:17:04,701] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:17:04,848] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:17:04,999] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:17:05,148] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:17:05,298] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:17:05,448] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:17:05,598] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:17:05,749] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:17:05,898] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:17:06,049] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:17:06,200] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:17:06,349] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:17:06,502] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:17:06,649] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:17:06,799] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:17:06,950] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:17:07,097] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:17:07,249] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:17:07,399] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:17:07,549] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:17:07,699] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:17:07,867] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:17:08,015] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:17:08,199] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:17:08,351] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:17:08,469] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 36 +[2025-03-25 17:17:09,053] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:17:09,099] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:17:09,247] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:17:09,400] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:17:09,552] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:17:09,734] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:17:09,882] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:17:10,047] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:17:10,198] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:17:10,349] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:17:10,498] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:17:10,648] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:17:10,800] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:17:10,947] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:17:11,099] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:17:11,249] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:17:11,401] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:17:11,566] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:17:11,714] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:17:11,865] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:17:12,016] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:17:12,164] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:17:12,316] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:17:12,466] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:17:12,615] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:17:12,766] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:17:12,929] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:17:13,088] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:17:13,247] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:17:13,399] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:17:13,548] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:17:13,701] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:17:13,851] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:17:13,982] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:17:14,130] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:17:14,281] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:17:14,449] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:17:14,599] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:17:14,765] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:17:14,916] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:17:15,068] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:17:15,189] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 37 +[2025-03-25 17:17:15,768] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:17:15,834] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:17:15,982] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:17:16,141] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:17:16,300] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:17:16,465] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:17:16,614] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:17:16,764] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:17:16,916] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:17:17,067] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:17:17,213] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:17:17,364] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:17:17,516] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:17:17,666] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:17:17,815] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:17:17,967] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:17:18,116] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:17:18,264] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:17:18,416] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:17:18,586] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:17:18,732] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:17:18,883] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:17:19,032] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:17:19,180] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:17:19,333] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:17:19,483] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:17:19,631] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:17:19,781] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:17:19,931] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:17:20,081] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:17:20,231] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:17:20,382] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:17:20,531] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:17:20,680] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:17:20,832] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:17:20,981] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:17:21,131] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:17:21,280] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:17:21,432] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:17:21,580] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:17:21,731] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:17:21,842] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 38 +[2025-03-25 17:17:22,415] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:17:22,468] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:17:22,615] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:17:22,765] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:17:22,919] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:17:23,070] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:17:23,230] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:17:23,384] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:17:23,552] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:17:23,699] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:17:23,848] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:17:24,019] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:17:24,165] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:17:24,314] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:17:24,465] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:17:24,616] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:17:24,764] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:17:24,933] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:17:25,097] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:17:25,252] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:17:25,398] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:17:25,531] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:17:25,681] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:17:25,833] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:17:25,982] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:17:26,131] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:17:26,281] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:17:26,430] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:17:26,581] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:17:26,733] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:17:26,880] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:17:27,031] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:17:27,180] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:17:27,348] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:17:27,499] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:17:27,649] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:17:27,781] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:17:27,932] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:17:28,082] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:17:28,232] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:17:28,381] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:17:28,500] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 39 +[2025-03-25 17:17:29,116] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:17:29,186] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:17:29,333] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:17:29,505] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:17:29,665] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:17:29,813] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:17:29,964] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:17:30,116] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:17:30,264] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:17:30,415] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:17:30,564] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:17:30,715] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:17:30,865] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:17:31,014] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:17:31,165] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:17:31,339] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:17:31,499] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:17:31,696] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:17:31,848] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:17:32,016] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:17:32,166] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:17:32,332] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:17:32,482] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:17:32,631] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:17:32,799] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:17:32,967] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:17:33,114] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:17:33,263] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:17:33,413] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:17:33,578] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:17:33,730] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:17:33,886] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:17:34,048] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:17:34,216] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:17:34,363] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:17:34,532] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:17:34,683] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:17:34,830] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:17:34,980] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:17:35,130] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:17:35,281] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:17:35,395] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 40 +[2025-03-25 17:17:35,989] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:17:36,032] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:17:36,183] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:17:36,331] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:17:36,499] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:17:36,649] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:17:36,797] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:17:36,947] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:17:37,096] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:17:37,230] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:17:37,381] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:17:37,533] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:17:37,682] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:17:37,830] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:17:37,981] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:17:38,152] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:17:38,298] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:17:38,447] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:17:38,597] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:17:38,730] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:17:38,883] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:17:39,031] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:17:39,176] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:17:39,329] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:17:39,480] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:17:39,630] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:17:39,780] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:17:39,930] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:17:40,080] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:17:40,231] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:17:40,380] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:17:40,530] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:17:40,681] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:17:40,831] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:17:40,980] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:17:41,130] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:17:41,280] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:17:41,430] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:17:41,582] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:17:41,729] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:17:41,881] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:17:41,990] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 41 +[2025-03-25 17:17:42,544] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:17:42,585] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:17:42,733] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:17:42,881] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:17:43,031] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:17:43,179] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:17:43,328] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:17:43,479] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:17:43,631] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:17:43,781] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:17:43,946] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:17:44,105] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:17:44,247] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:17:44,397] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:17:44,547] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:17:44,680] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:17:44,831] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:17:44,981] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:17:45,129] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:17:45,282] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:17:45,449] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:17:45,601] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:17:45,763] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:17:45,918] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:17:46,080] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:17:46,233] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:17:46,397] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:17:46,550] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:17:46,697] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:17:46,849] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:17:47,013] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:17:47,168] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:17:47,314] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:17:47,465] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:17:47,616] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:17:47,784] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:17:47,931] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:17:48,100] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:17:48,248] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:17:48,397] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:17:48,548] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:17:48,666] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 42 +[2025-03-25 17:17:49,236] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:17:49,282] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:17:49,431] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:17:49,581] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:17:49,732] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:17:49,881] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:17:50,031] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:17:50,179] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:17:50,330] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:17:50,482] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:17:50,630] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:17:50,781] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:17:50,931] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:17:51,081] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:17:51,232] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:17:51,401] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:17:51,547] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:17:51,698] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:17:51,846] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:17:51,996] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:17:52,147] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:17:52,300] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:17:52,464] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:17:52,619] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:17:52,782] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:17:52,929] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:17:53,082] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:17:53,231] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:17:53,381] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:17:53,530] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:17:53,682] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:17:53,831] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:17:53,984] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:17:54,129] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:17:54,281] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:17:54,450] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:17:54,596] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:17:54,747] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:17:54,898] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:17:55,046] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:17:55,196] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:17:55,304] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 43 +[2025-03-25 17:17:55,891] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:17:55,935] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:17:56,084] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:17:56,230] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:17:56,381] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:17:56,529] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:17:56,681] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:17:56,829] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:17:56,981] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:17:57,130] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:17:57,281] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:17:57,430] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:17:57,582] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:17:57,730] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:17:57,881] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:17:58,055] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:17:58,215] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:17:58,381] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:17:58,531] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:17:58,682] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:17:58,831] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:17:58,983] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:17:59,146] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:17:59,305] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:17:59,464] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:17:59,612] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:17:59,764] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:17:59,934] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:18:00,083] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:18:00,230] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:18:00,379] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:18:00,530] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:18:00,681] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:18:00,832] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:18:00,979] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:18:01,130] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:18:01,306] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:18:01,483] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:18:01,630] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:18:01,780] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:18:01,931] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:18:02,040] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 44 +[2025-03-25 17:18:02,629] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:18:02,684] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:18:02,830] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:18:02,980] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:18:03,131] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:18:03,280] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:18:03,429] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:18:03,578] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:18:03,732] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:18:03,879] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:18:04,030] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:18:04,180] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:18:04,330] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:18:04,481] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:18:04,647] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:18:04,814] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:18:04,963] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:18:05,112] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:18:05,264] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:18:05,414] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:18:05,564] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:18:05,713] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:18:05,865] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:18:06,013] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:18:06,164] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:18:06,314] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:18:06,462] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:18:06,617] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:18:06,765] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:18:06,931] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:18:07,081] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:18:07,230] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:18:07,380] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:18:07,530] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:18:07,695] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:18:07,848] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:18:08,014] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:18:08,163] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:18:08,313] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:18:08,465] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:18:08,613] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:18:08,731] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 45 +[2025-03-25 17:18:09,319] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:18:09,465] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 45 +[2025-03-25 17:18:10,013] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:18:10,085] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:18:10,231] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:18:10,389] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:18:10,530] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:18:10,665] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:18:10,831] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:18:10,984] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:18:11,129] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:18:11,280] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:18:11,431] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:18:11,603] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:18:11,746] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:18:11,897] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:18:12,047] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:18:12,195] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:18:12,347] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:18:12,512] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:18:12,663] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:18:12,815] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:18:12,966] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:18:13,113] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:18:13,266] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:18:13,435] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:18:13,580] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:18:13,749] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:18:13,914] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:18:14,067] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:18:14,213] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:18:14,363] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:18:14,513] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:18:14,662] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:18:14,815] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:18:14,963] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:18:15,111] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:18:15,262] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:18:15,413] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:18:15,563] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:18:15,711] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:18:15,863] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:18:16,013] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:18:16,130] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 46 +[2025-03-25 17:18:16,715] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:18:16,800] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:18:16,965] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:18:17,120] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:18:17,279] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:18:17,428] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:18:17,580] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:18:17,728] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:18:17,881] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:18:18,030] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:18:18,181] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:18:18,372] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:18:18,529] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:18:18,681] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:18:18,832] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:18:18,980] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:18:19,129] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:18:19,281] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:18:19,448] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:18:19,600] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:18:19,766] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:18:19,915] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:18:20,063] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:18:20,215] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:18:20,364] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:18:20,511] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:18:20,663] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:18:20,813] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:18:20,962] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:18:21,112] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:18:21,263] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:18:21,413] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:18:21,563] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:18:21,713] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:18:21,865] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:18:22,013] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:18:22,165] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:18:22,313] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:18:22,463] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:18:22,612] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:18:22,763] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:18:22,876] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 47 +[2025-03-25 17:18:23,445] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:18:23,514] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:18:23,664] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:18:23,813] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:18:23,964] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:18:24,116] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:18:24,263] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:18:24,411] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:18:24,564] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:18:24,714] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:18:24,881] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:18:25,039] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:18:25,179] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:18:25,331] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:18:25,481] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:18:25,662] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:18:25,813] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:18:25,965] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:18:26,113] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:18:26,263] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:18:26,413] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:18:26,561] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:18:26,713] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:18:26,862] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:18:27,012] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:18:27,161] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:18:27,313] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:18:27,464] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:18:27,612] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:18:27,764] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:18:27,912] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:18:28,061] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:18:28,212] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:18:28,363] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:18:28,516] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:18:28,683] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:18:28,830] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:18:28,979] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:18:29,131] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:18:29,280] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:18:29,429] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:18:29,543] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 48 +[2025-03-25 17:18:30,121] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:18:30,165] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:18:30,314] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:18:30,487] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:18:30,645] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:18:30,796] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:18:30,960] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:18:31,111] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:18:31,261] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:18:31,413] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:18:31,564] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:18:31,712] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:18:31,863] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:18:32,013] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:18:32,162] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:18:32,314] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:18:32,462] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:18:32,614] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:18:32,765] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:18:32,912] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:18:33,062] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:18:33,211] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:18:33,361] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:18:33,513] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:18:33,666] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:18:33,828] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:18:33,981] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:18:34,133] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:18:34,296] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:18:34,446] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:18:34,613] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:18:34,766] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:18:34,913] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:18:35,083] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:18:35,252] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:18:35,398] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:18:35,564] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:18:35,713] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:18:35,862] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:18:36,011] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:18:36,164] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:18:36,283] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 49 +[2025-03-25 17:18:36,862] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:18:36,913] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:18:37,063] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:18:37,235] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:18:37,396] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:18:37,551] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:18:37,711] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:18:37,863] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:18:38,036] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:18:38,195] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:18:38,346] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:18:38,495] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:18:38,646] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:18:38,795] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:18:38,947] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:18:39,095] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:18:39,246] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:18:39,397] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:18:39,549] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:18:39,694] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:18:39,846] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:18:39,996] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:18:40,145] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:18:40,295] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:18:40,445] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:18:40,595] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:18:40,747] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:18:40,895] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:18:41,046] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:18:41,213] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:18:41,363] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:18:41,513] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:18:41,663] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:18:41,811] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:18:41,963] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:18:42,111] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:18:42,279] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:18:42,428] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:18:42,579] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:18:42,729] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:18:42,896] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:18:43,009] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 50 +[2025-03-25 17:18:43,606] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:18:43,644] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:18:43,796] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:18:43,946] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:18:44,096] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:18:44,247] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:18:44,412] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:18:44,562] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:18:44,729] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:18:44,878] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:18:45,030] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:18:45,204] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:18:45,346] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:18:45,500] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:18:45,646] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:18:45,796] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:18:45,948] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:18:46,102] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:18:46,261] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:18:46,417] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:18:46,578] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:18:46,729] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:18:46,879] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:18:47,049] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:18:47,194] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:18:47,347] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:18:47,495] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:18:47,666] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:18:47,810] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:18:47,962] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:18:48,112] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:18:48,260] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:18:48,414] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:18:48,562] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:18:48,710] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:18:48,863] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:18:49,014] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:18:49,178] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:18:49,328] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:18:49,476] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:18:49,628] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:18:49,749] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 51 +[2025-03-25 17:18:50,336] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:18:50,400] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:18:50,562] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:18:50,720] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:18:50,862] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:18:51,012] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:18:51,161] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:18:51,311] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:18:51,462] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:18:51,613] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:18:51,761] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:18:51,914] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:18:52,063] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:18:52,214] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:18:52,363] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:18:52,533] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:18:52,679] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:18:52,829] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:18:52,978] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:18:53,130] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:18:53,278] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:18:53,447] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:18:53,613] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:18:53,765] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:18:53,928] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:18:54,099] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:18:54,261] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:18:54,416] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:18:54,577] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:18:54,728] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:18:54,878] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:18:55,029] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:18:55,194] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:18:55,348] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:18:55,513] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:18:55,666] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:18:55,811] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:18:55,964] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:18:56,112] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:18:56,263] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:18:56,412] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:18:56,521] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 52 +[2025-03-25 17:18:57,093] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:18:57,147] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:18:57,296] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:18:57,446] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:18:57,597] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:18:57,744] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:18:57,896] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:18:58,045] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:18:58,194] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:18:58,345] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:18:58,498] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:18:58,669] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:18:58,830] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:18:58,979] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:18:59,127] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:18:59,278] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:18:59,429] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:18:59,578] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:18:59,729] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:18:59,878] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:19:00,032] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:19:00,178] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:19:00,328] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:19:00,478] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:19:00,630] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:19:00,778] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:19:00,945] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:19:01,105] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:19:01,246] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:19:01,396] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:19:01,546] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:19:01,715] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:19:01,862] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:19:02,011] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:19:02,160] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:19:02,310] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:19:02,463] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:19:02,630] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:19:02,779] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:19:02,949] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:19:03,095] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:19:03,211] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 53 +[2025-03-25 17:19:03,813] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 40 +[2025-03-25 17:19:03,916] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:19:04,063] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:19:04,244] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:19:04,395] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:19:04,546] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:19:04,711] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:19:04,862] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:19:05,012] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:19:05,161] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:19:05,311] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:19:05,461] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:19:05,613] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:19:05,761] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:19:05,911] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:19:06,061] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:19:06,215] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:19:06,378] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:19:06,529] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:19:06,678] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:19:06,830] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:19:06,980] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:19:07,128] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:19:07,277] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:19:07,432] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:19:07,580] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:19:07,744] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 26번째 버튼 클릭 +[2025-03-25 17:19:07,901] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 27번째 버튼 클릭 +[2025-03-25 17:19:08,045] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 28번째 버튼 클릭 +[2025-03-25 17:19:08,195] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 29번째 버튼 클릭 +[2025-03-25 17:19:08,347] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 30번째 버튼 클릭 +[2025-03-25 17:19:08,516] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 31번째 버튼 클릭 +[2025-03-25 17:19:08,662] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 32번째 버튼 클릭 +[2025-03-25 17:19:08,811] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 33번째 버튼 클릭 +[2025-03-25 17:19:08,961] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 34번째 버튼 클릭 +[2025-03-25 17:19:09,112] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 35번째 버튼 클릭 +[2025-03-25 17:19:09,263] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 36번째 버튼 클릭 +[2025-03-25 17:19:09,410] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 37번째 버튼 클릭 +[2025-03-25 17:19:09,562] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 38번째 버튼 클릭 +[2025-03-25 17:19:09,711] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 39번째 버튼 클릭 +[2025-03-25 17:19:09,861] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 40번째 버튼 클릭 +[2025-03-25 17:19:09,971] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 54 +[2025-03-25 17:19:10,553] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:304] smartstore.naver.com 현재 페이지의 찜버튼 개수: 25 +[2025-03-25 17:19:10,595] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 1번째 버튼 클릭 +[2025-03-25 17:19:10,743] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 2번째 버튼 클릭 +[2025-03-25 17:19:10,894] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 3번째 버튼 클릭 +[2025-03-25 17:19:11,044] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 4번째 버튼 클릭 +[2025-03-25 17:19:11,194] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 5번째 버튼 클릭 +[2025-03-25 17:19:11,343] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 6번째 버튼 클릭 +[2025-03-25 17:19:11,492] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 7번째 버튼 클릭 +[2025-03-25 17:19:11,645] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 8번째 버튼 클릭 +[2025-03-25 17:19:11,794] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 9번째 버튼 클릭 +[2025-03-25 17:19:11,945] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 10번째 버튼 클릭 +[2025-03-25 17:19:12,093] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 11번째 버튼 클릭 +[2025-03-25 17:19:12,262] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 12번째 버튼 클릭 +[2025-03-25 17:19:12,411] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 13번째 버튼 클릭 +[2025-03-25 17:19:12,560] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 14번째 버튼 클릭 +[2025-03-25 17:19:12,711] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 15번째 버튼 클릭 +[2025-03-25 17:19:12,861] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 16번째 버튼 클릭 +[2025-03-25 17:19:13,011] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 17번째 버튼 클릭 +[2025-03-25 17:19:13,160] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 18번째 버튼 클릭 +[2025-03-25 17:19:13,310] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 19번째 버튼 클릭 +[2025-03-25 17:19:13,461] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 20번째 버튼 클릭 +[2025-03-25 17:19:13,613] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 21번째 버튼 클릭 +[2025-03-25 17:19:13,759] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 22번째 버튼 클릭 +[2025-03-25 17:19:13,911] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 23번째 버튼 클릭 +[2025-03-25 17:19:14,044] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 24번째 버튼 클릭 +[2025-03-25 17:19:14,211] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:319] [smartstore.naver.com] 25번째 버튼 클릭 +[2025-03-25 17:19:14,324] [Dummy-2] [INFO] [jjim_runner.py:_start_jjim:337] 현재 페이지: 55 +[2025-03-25 17:19:14,342] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:359] smartstore.naver.com의 마지막 페이지 도달 +[2025-03-25 17:19:14,343] [Dummy-2] [DEBUG] [jjim_runner.py:_start_jjim:372] smartstore.naver.com 처리 완료: 처리된 버튼 2227 / 전체 버튼 2185 +[2025-03-25 17:29:08,882] [MainThread] [INFO] [main_window.py:on_debug_toggle:251] 디버그모드 ON +[2025-03-25 17:29:09,310] [MainThread] [INFO] [main_window.py:on_debug_toggle:251] 디버그모드 OFF +[2025-03-25 20:19:23,424] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 20:19:23,424] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 20:19:23,425] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 21, 29, 922665, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 21, 29, 924787, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyOTA1Mjg5LCJpYXQiOjE3NDI5MDE2ODksImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI5MDE2ODl9XSwic2Vzc2lvbl9pZCI6ImEzMzJmM2FiLWUwZWUtNDk5OC04OTI5LWVhOGFkNGNlMGFjYSIsImlzX2Fub255bW91cyI6ZmFsc2V9.R7sllMNz-0hbFz8VnIyiCSrGyLKUGwuNpcEx0PKj43Q', refresh_token='a3XU2mS1h2mVV6b5npIsgQ', expires_in=3600, expires_at=1742905289, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 21, 29, 922665, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 21, 29, 924787, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 20:19:23,425] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 20:19:23,587] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:19:07.812703', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 20:19:23,602] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:19:07.812703', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 20:19:23,739] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 20:19:23,741] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 20:19:23,748] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 20:19:23,976] [Dummy-2] [DEBUG] [jjim_runner.py:start_browser:111] 브라우저 실행 파일이 없습니다: D:\py\jjim2\src\..\browsers\chromium-1140\chrome-win\chrome.exe +[2025-03-25 20:19:23,976] [Dummy-2] [ERROR] [jjim_runner.py:start_browser:190] 브라우저 초기화 오류: 브라우저 실행 파일이 없습니다: D:\py\jjim2\src\..\browsers\chromium-1140\chrome-win\chrome.exe +Traceback (most recent call last): + File "D:\py\jjim2\src\jjim_runner.py", line 112, in start_browser + raise FileNotFoundError(f"브라우저 실행 파일이 없습니다: {browser_path}") +FileNotFoundError: 브라우저 실행 파일이 없습니다: D:\py\jjim2\src\..\browsers\chromium-1140\chrome-win\chrome.exe + +[2025-03-25 20:19:54,849] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 20:19:54,849] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 20:19:54,850] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 22, 1, 349792, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 22, 1, 351329, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyOTA1MzIxLCJpYXQiOjE3NDI5MDE3MjEsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI5MDE3MjF9XSwic2Vzc2lvbl9pZCI6IjRhNzQ4YzI1LWY0NzMtNGU2NS04OTIwLWQ0ZjNiZWVlNmIxNSIsImlzX2Fub255bW91cyI6ZmFsc2V9.VbrfVnilIyJPOjY1Se8lfECQO-78K_Sd5LUdrbd1Mbc', refresh_token='J7inge-Fl-Dje1iDgK5-Tg', expires_in=3600, expires_at=1742905321, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 22, 1, 349792, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 22, 1, 351329, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 20:19:54,851] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 20:19:55,035] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:19:23.603878', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 20:19:55,050] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:19:23.603878', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 20:19:55,195] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 20:19:55,196] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 20:19:55,201] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 20:19:56,260] [Dummy-2] [INFO] [jjim_runner.py:start_browser:186] 브라우저 초기화 완료 +[2025-03-25 20:23:03,861] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 20:23:03,862] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 20:23:03,862] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 25, 10, 365305, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 25, 10, 367148, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyOTA1NTEwLCJpYXQiOjE3NDI5MDE5MTAsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI5MDE5MTB9XSwic2Vzc2lvbl9pZCI6IjM5MjdiNTVjLTdhNWQtNDY3OS05MDY5LTZiMTFiODA4MTBmNSIsImlzX2Fub255bW91cyI6ZmFsc2V9.L9cjm7nU3lrwaPtuxKkBsRShbYDg6nQR_jfHM00T70Y', refresh_token='FeGbygwfTQ3rVU2cB277eQ', expires_in=3600, expires_at=1742905510, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 25, 10, 365305, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 25, 10, 367148, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 20:23:03,863] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 20:23:04,077] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:19:55.051926', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 20:23:04,093] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:19:55.051926', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 20:23:04,503] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 20:23:04,504] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 20:23:04,509] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 20:23:39,362] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 20:23:39,363] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 20:23:39,363] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 25, 45, 870195, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 25, 45, 872104, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyOTA1NTQ1LCJpYXQiOjE3NDI5MDE5NDUsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI5MDE5NDV9XSwic2Vzc2lvbl9pZCI6IjMwOWJkMDcwLWI3ODgtNDQ0Ni1hODVmLTk4MGEyNDQyNWUzZiIsImlzX2Fub255bW91cyI6ZmFsc2V9.RAXWVo-EjEz8IcbFTnsuKU4z18YzPHOmbxhw8DELvcE', refresh_token='q0zny5eWfARdNgQqewZ9Jg', expires_in=3600, expires_at=1742905545, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 25, 45, 870195, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 25, 45, 872104, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 20:23:39,364] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 20:23:39,570] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:23:04.094493', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 20:23:39,592] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:23:04.094493', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 20:23:40,012] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 20:23:40,013] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 20:23:40,018] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 20:23:40,696] [Dummy-2] [INFO] [jjim_runner.py:start_browser:193] 브라우저 초기화 완료 +[2025-03-25 20:23:43,322] [MainThread] [INFO] [main_window.py:on_debug_toggle:251] 디버그모드 ON +[2025-03-25 20:25:20,064] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 20:25:20,064] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 20:25:20,064] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 27, 26, 576666, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 27, 26, 578653, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyOTA1NjQ2LCJpYXQiOjE3NDI5MDIwNDYsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI5MDIwNDZ9XSwic2Vzc2lvbl9pZCI6Ijk4Yjk5NjA0LTdhOWYtNGEyYi04YzY2LTRlNDE4NGI2OWQyOSIsImlzX2Fub255bW91cyI6ZmFsc2V9.b8HBDAjHHNqFOZGyrskceuU3XjyhFnbxwPQ9zg5_hV4', refresh_token='ua5kBFMU6ymnRi2cKtVYyQ', expires_in=3600, expires_at=1742905646, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 27, 26, 576666, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 27, 26, 578653, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 20:25:20,065] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 20:25:20,244] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:23:39.593551', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 20:25:20,261] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:23:39.593551', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 20:25:20,499] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 20:25:20,500] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 20:25:20,506] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 20:25:23,991] [MainThread] [INFO] [main_window.py:on_login_button_clicked:168] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 20:25:23,997] [MainThread] [ERROR] [jjim_runner.py:start_login:205] 브라우저가 초기화되지 않음 +[2025-03-25 20:25:24,444] [Dummy-2] [INFO] [jjim_runner.py:start_browser:193] 브라우저 초기화 완료 +[2025-03-25 20:28:35,566] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 20:28:35,567] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 20:28:35,567] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 30, 42, 84454, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 30, 42, 85901, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyOTA1ODQyLCJpYXQiOjE3NDI5MDIyNDIsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI5MDIyNDJ9XSwic2Vzc2lvbl9pZCI6IjY0ZTE1MTQ5LTNhNjktNDM1ZC1hN2ZlLTViNTRkYWRlZjEyYSIsImlzX2Fub255bW91cyI6ZmFsc2V9.-t5QRF-1l9Dj4TyZWz6Iv8J7NykbjR9ao7lifaXOSqo', refresh_token='GN_EJMsTAwdAOsSXIB8NjQ', expires_in=3600, expires_at=1742905842, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 30, 42, 84454, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 30, 42, 85901, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 20:28:35,568] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 20:28:35,745] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:25:20.261189', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 20:28:35,761] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:25:20.261189', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 20:28:36,196] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 20:28:36,197] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 20:28:36,202] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 20:28:37,860] [MainThread] [INFO] [main_window.py:on_login_button_clicked:161] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 20:28:37,866] [MainThread] [ERROR] [jjim_runner.py:start_login:205] 브라우저가 초기화되지 않음 +[2025-03-25 20:28:38,288] [Dummy-2] [INFO] [jjim_runner.py:start_browser:193] 브라우저 초기화 완료 +[2025-03-25 20:34:50,943] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 20:34:50,943] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 20:34:50,944] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 36, 57, 469672, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 36, 57, 471998, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyOTA2MjE3LCJpYXQiOjE3NDI5MDI2MTcsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI5MDI2MTd9XSwic2Vzc2lvbl9pZCI6Ijc0NmRlZTQ0LTY2OWQtNGMwMS1hMmRlLThiNDIyMjBlNTBjNSIsImlzX2Fub255bW91cyI6ZmFsc2V9.hGnYbaPsfVN4r1IvPKFT_Vt7G0SW0wFr1k-NWwGYyl0', refresh_token='QVOtJYGPvs4zhTcExhCz5w', expires_in=3600, expires_at=1742906217, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 36, 57, 469672, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 36, 57, 471998, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 20:34:50,944] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 20:34:51,161] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:28:35.761335', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 20:34:51,178] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:28:35.761335', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 20:34:51,592] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 20:34:51,593] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 20:34:51,599] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 20:34:53,435] [MainThread] [INFO] [main_window.py:on_login_button_clicked:161] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 20:34:53,893] [Dummy-2] [INFO] [jjim_runner.py:start_browser:193] 브라우저 초기화 완료 +[2025-03-25 20:36:59,745] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 20:36:59,746] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 20:36:59,746] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 39, 6, 280774, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 39, 6, 283118, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyOTA2MzQ2LCJpYXQiOjE3NDI5MDI3NDYsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI5MDI3NDZ9XSwic2Vzc2lvbl9pZCI6ImNkYmZlYTc4LWQ1MWUtNDcyNi05NTk1LWMwYWEwMjZkYjkwMCIsImlzX2Fub255bW91cyI6ZmFsc2V9.Wcatj-0PWRmw8OECAHaXFfg_h7cGsFsiem09AQfwSDc', refresh_token='94HpGXrSCleB4jLkj6lN3Q', expires_in=3600, expires_at=1742906346, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 11, 39, 6, 280774, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 11, 39, 6, 283118, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 20:36:59,747] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 20:36:59,955] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:34:51.178932', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 20:36:59,972] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T11:34:51.178932', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 20:37:00,417] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 20:37:00,417] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 20:37:00,423] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 +[2025-03-25 20:37:03,809] [MainThread] [INFO] [main_window.py:on_login_button_clicked:161] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 20:37:04,248] [Dummy-2] [INFO] [jjim_runner.py:start_browser:193] 브라우저 초기화 완료 +[2025-03-25 20:37:04,744] [Dummy-2] [INFO] [jjim_runner.py:_start_login:249] 로그인 페이지 접속 +[2025-03-25 20:37:06,881] [Dummy-2] [INFO] [jjim_runner.py:_start_login:266] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 20:37:06,889] [Dummy-2] [INFO] [jjim_runner.py:_start_login:270] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 30를 선택하면 로그인 됩니다. +[2025-03-25 20:37:06,890] [Dummy-2] [INFO] [jjim_runner.py:_start_login:274] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 30를 선택하면 로그인 됩니다. +[2025-03-25 20:37:06,890] [MainThread] [INFO] [main_window.py:on_qr_ready:196] QR 이미지 준비 완료 +[2025-03-25 20:37:06,891] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:07,912] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:08,916] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:09,484] [MainThread] [INFO] [main_window.py:on_qr_ready:209] QR 다이얼로그 자동 종료 +[2025-03-25 20:37:09,923] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:10,926] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:11,075] [MainThread] [INFO] [main_window.py:on_debug_toggle:255] 디버그모드 ON +[2025-03-25 20:37:11,935] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:12,938] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:13,387] [MainThread] [INFO] [main_window.py:on_login_button_clicked:161] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 20:37:13,830] [Dummy-3] [INFO] [jjim_runner.py:start_browser:193] 브라우저 초기화 완료 +[2025-03-25 20:37:13,948] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:14,341] [Dummy-3] [INFO] [jjim_runner.py:_start_login:249] 로그인 페이지 접속 +[2025-03-25 20:37:14,966] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:15,978] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:16,434] [Dummy-3] [INFO] [jjim_runner.py:_start_login:266] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 20:37:16,441] [Dummy-3] [INFO] [jjim_runner.py:_start_login:270] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 16를 선택하면 로그인 됩니다. +[2025-03-25 20:37:16,442] [Dummy-3] [INFO] [jjim_runner.py:_start_login:274] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 16를 선택하면 로그인 됩니다. +[2025-03-25 20:37:16,442] [MainThread] [INFO] [main_window.py:on_qr_ready:196] QR 이미지 준비 완료 +[2025-03-25 20:37:16,442] [Dummy-3] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:16,984] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:17,460] [Dummy-3] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:17,462] [Dummy-3] [WARNING] [jjim_runner.py:_monitor_login:302] _monitor_login query_selector 예외: Page.query_selector: Target page, context or browser has been closed +[2025-03-25 20:37:17,987] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:18,467] [Dummy-3] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:18,468] [Dummy-3] [WARNING] [jjim_runner.py:_monitor_login:302] _monitor_login query_selector 예외: Page.query_selector: Target page, context or browser has been closed +[2025-03-25 20:37:18,484] [MainThread] [INFO] [main_window.py:on_qr_ready:209] QR 다이얼로그 자동 종료 +[2025-03-25 20:37:18,995] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:19,346] [MainThread] [INFO] [main_window.py:on_debug_toggle:255] 디버그모드 OFF +[2025-03-25 20:37:19,475] [Dummy-3] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:19,477] [Dummy-3] [WARNING] [jjim_runner.py:_monitor_login:302] _monitor_login query_selector 예외: Page.query_selector: Target page, context or browser has been closed +[2025-03-25 20:37:19,998] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:20,281] [MainThread] [INFO] [main_window.py:on_login_button_clicked:161] 로그인 버튼 클릭 - QR 로그인 요청 +[2025-03-25 20:37:20,477] [Dummy-3] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:20,479] [Dummy-3] [WARNING] [jjim_runner.py:_monitor_login:302] _monitor_login query_selector 예외: Page.query_selector: Target page, context or browser has been closed +[2025-03-25 20:37:20,713] [Dummy-4] [INFO] [jjim_runner.py:start_browser:193] 브라우저 초기화 완료 +[2025-03-25 20:37:21,001] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:21,180] [Dummy-4] [INFO] [jjim_runner.py:_start_login:249] 로그인 페이지 접속 +[2025-03-25 20:37:21,493] [Dummy-3] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:21,495] [Dummy-3] [WARNING] [jjim_runner.py:_monitor_login:302] _monitor_login query_selector 예외: Page.query_selector: Target page, context or browser has been closed +[2025-03-25 20:37:22,005] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:22,496] [Dummy-3] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:22,498] [Dummy-3] [WARNING] [jjim_runner.py:_monitor_login:302] _monitor_login query_selector 예외: Page.query_selector: Target page, context or browser has been closed +[2025-03-25 20:37:23,022] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:23,311] [Dummy-4] [INFO] [jjim_runner.py:_start_login:266] QR 코드 캡쳐 및 저장 완료 +[2025-03-25 20:37:23,318] [Dummy-4] [INFO] [jjim_runner.py:_start_login:270] QR 보조정보: 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 65를 선택하면 로그인 됩니다. +[2025-03-25 20:37:23,319] [Dummy-4] [INFO] [jjim_runner.py:_start_login:274] QR 코드와 보조정보 전송 완료 D:\py\jjim2\temp_qr.png, 네이버 앱 > 렌즈 를 눌러 QR코드를 스캔하여 +보이는 숫자 중 65를 선택하면 로그인 됩니다. +[2025-03-25 20:37:23,319] [MainThread] [INFO] [main_window.py:on_qr_ready:196] QR 이미지 준비 완료 +[2025-03-25 20:37:23,319] [Dummy-4] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:23,500] [Dummy-3] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:23,502] [Dummy-3] [WARNING] [jjim_runner.py:_monitor_login:302] _monitor_login query_selector 예외: Page.query_selector: Target page, context or browser has been closed +[2025-03-25 20:37:24,026] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:24,330] [Dummy-4] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:24,506] [Dummy-3] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 20:37:24,507] [Dummy-3] [WARNING] [jjim_runner.py:_monitor_login:302] _monitor_login query_selector 예외: Page.query_selector: Target page, context or browser has been closed +[2025-03-25 20:37:24,581] [MainThread] [INFO] [main_window.py:on_qr_ready:209] QR 다이얼로그 자동 종료 +[2025-03-25 20:37:25,040] [Dummy-2] [DEBUG] [jjim_runner.py:_monitor_login:292] [_monitor_login] 현재 URL: https://nid.naver.com/nidlogin.login?mode=qrcode&url=https%3A%2F%2Fwww.naver.com&locale=ko_KR&svctype=1 +[2025-03-25 21:05:48,585] [MainThread] [DEBUG] [sp_manager.py:update_client_with_token:36] Client updated with JWT token +[2025-03-25 21:05:48,585] [MainThread] [DEBUG] [sp_manager.py:login:121] 로그인 성공 +[2025-03-25 21:05:48,585] [MainThread] [DEBUG] [sp_manager.py:login:122] response : user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 12, 7, 55, 184321, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 12, 7, 55, 186078, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None) session=Session(provider_token=None, provider_refresh_token=None, access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDlkMmVmOC03MDUzLTQwMDYtYWI0MC00OWViNDlmMjAzODMiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzQyOTA4MDc1LCJpYXQiOjE3NDI5MDQ0NzUsImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoibGVlbnNvbzFudEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiOTA5ZDJlZjgtNzA1My00MDA2LWFiNDAtNDllYjQ5ZjIwMzgzIn0sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoicGFzc3dvcmQiLCJ0aW1lc3RhbXAiOjE3NDI5MDQ0NzV9XSwic2Vzc2lvbl9pZCI6IjJlNTZmZTJlLTdmZGUtNDBlMy05YmUwLTY2YmI2YWJkNDgyZSIsImlzX2Fub255bW91cyI6ZmFsc2V9.bLkhxGkTkaKQFTtlKnU0SdZk8mXE38V6H5F1IHYgJKM', refresh_token='FK6c0G4T9VPwnl5CWtBZZA', expires_in=3600, expires_at=1742908075, token_type='bearer', user=User(id='909d2ef8-7053-4006-ab40-49eb49f20383', app_metadata={'provider': 'email', 'providers': ['email']}, user_metadata={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, aud='authenticated', confirmation_sent_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 784925, tzinfo=TzInfo(UTC)), recovery_sent_at=None, email_change_sent_at=None, new_email=None, new_phone=None, invited_at=None, action_link=None, email='leensoo1nt@gmail.com', phone='', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 774578, tzinfo=TzInfo(UTC)), confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), email_confirmed_at=datetime.datetime(2025, 2, 18, 15, 16, 28, 322591, tzinfo=TzInfo(UTC)), phone_confirmed_at=None, last_sign_in_at=datetime.datetime(2025, 3, 25, 12, 7, 55, 184321, tzinfo=TzInfo(UTC)), role='authenticated', updated_at=datetime.datetime(2025, 3, 25, 12, 7, 55, 186078, tzinfo=TzInfo(UTC)), identities=[UserIdentity(id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_id='02512f8f-12ee-4925-87f1-7e83f4dca8ed', user_id='909d2ef8-7053-4006-ab40-49eb49f20383', identity_data={'email': 'leensoo1nt@gmail.com', 'email_verified': False, 'phone_verified': False, 'sub': '909d2ef8-7053-4006-ab40-49eb49f20383'}, provider='email', created_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)), last_sign_in_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781558, tzinfo=TzInfo(UTC)), updated_at=datetime.datetime(2025, 2, 18, 15, 15, 24, 781602, tzinfo=TzInfo(UTC)))], is_anonymous=False, factors=None)) +[2025-03-25 21:05:48,586] [MainThread] [DEBUG] [sp_manager.py:login:123] user_info : {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'email': 'leensoo1nt@gmail.com', 'nickname': 'Unknown'} +[2025-03-25 21:05:48,777] [MainThread] [WARNING] [sp_manager.py:get_full_user_info:168] user_resp : data=[{'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T12:03:25.462125', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None}] count=None +[2025-03-25 21:05:48,794] [MainThread] [DEBUG] [login_dialog.py:handle_login:119] 로그인 성공: {'id': '909d2ef8-7053-4006-ab40-49eb49f20383', 'nickname': '리앤수', 'created_at': '2025-02-19T00:15:24.774065', 'updated_at': '2025-02-19T00:15:24.774065', 'membership_level': 'premium', 'last_login': '2025-03-25T12:03:25.462125', 'privacy_consent': True, 'privacy_consent_date': '2025-02-19T00:13:56.357521+09:00', 'license_consent': True, 'license_consent_date': '2025-02-19T00:13:56.357521+09:00', 'username': '한효상', 'email': 'leensoo1nt@gmail.com', 'email_confirmed_at': '2025-02-19T00:16:28.322591+09:00', 'payment_info': None, 'payment_period_end': None, 'requested_api_call_count': None, 'current_concurrent': 24, 'role': None, 'authenticated_by_admin': True, 'price_settings': None, 'category_settings': None, 'membership_level_data': {'level': 'premium', 'api_call_limit': 3000, 'max_rows_per_query': 100, 'accessible_tables': ['common_banned_words', 'user_roles'], 'created_at': '2025-01-23T23:55:48.673088', 'concurrent_login_limit': 4, 'updated_at': None}} +[2025-03-25 21:05:48,978] [MainThread] [DEBUG] [sp_manager.py:check_membership_validity:563] check_membership_validity - period_end_str : None +[2025-03-25 21:05:48,979] [MainThread] [DEBUG] [databaseManager.py:create_table:22] 데이터베이스 테이블 생성 완료 +[2025-03-25 21:05:48,984] [MainThread] [DEBUG] [databaseManager.py:fetch_all:41] 데이터 로드 완료 diff --git a/libs/cx_Logging.lib b/libs/cx_Logging.lib new file mode 100644 index 0000000..2792f92 Binary files /dev/null and b/libs/cx_Logging.lib differ diff --git a/login/qr_dialog.py b/login/qr_dialog.py index dfac1c6..f864fa6 100644 --- a/login/qr_dialog.py +++ b/login/qr_dialog.py @@ -2,6 +2,7 @@ from PySide6.QtWidgets import QDialog, QVBoxLayout, QLabel, QPushButton from PySide6.QtGui import QPixmap, QFont from PySide6.QtCore import QTimer, QCoreApplication, Qt +import re class QRDialog(QDialog): """ @@ -29,11 +30,36 @@ class QRDialog(QDialog): self.info_label.setFont(QFont("Arial", 12, QFont.Bold)) layout.addWidget(self.info_label) - # 로그인 안내 메시지 - self.additional_info_label = QLabel(inner_text) - self.additional_info_label.setAlignment(Qt.AlignCenter) - self.additional_info_label.setFont(QFont("Arial", 10, QFont.Bold)) - layout.addWidget(self.additional_info_label) + + match = re.search(r'(\d+)', inner_text) + if match: + number_str = match.group(1) + # 최대 한 번 분리하여 앞, 뒤로 나눔 + parts = re.split(r'\d+', inner_text, maxsplit=1) + text_before = parts[0].strip() + text_after = parts[1].strip() if len(parts) > 1 else "" + else: + number_str = "" + text_before = inner_text + text_after = "" + + # 앞부분 텍스트 라벨 + self.before_label = QLabel(text_before) + self.before_label.setAlignment(Qt.AlignCenter) + self.before_label.setFont(QFont("Arial", 10)) + layout.addWidget(self.before_label) + + # 추출한 숫자를 크게 굵게 표시하는 라벨 + self.number_label = QLabel(number_str) + self.number_label.setAlignment(Qt.AlignCenter) + self.number_label.setFont(QFont("Arial", 30, QFont.Bold)) + layout.addWidget(self.number_label) + + # 뒷부분 텍스트 라벨 + self.after_label = QLabel(text_after) + self.after_label.setAlignment(Qt.AlignCenter) + self.after_label.setFont(QFont("Arial", 10)) + layout.addWidget(self.after_label) # 카운트다운 라벨 self.countdown_label = QLabel() @@ -68,7 +94,8 @@ class QRDialog(QDialog): else: self.timer.stop() self.reject() - + + class LoginSuccessDialog(QDialog): """로그인 성공 시 표시되는 다이얼로그 (1초 후 자동 닫힘)""" diff --git a/main.py b/main.py index 9051cce..9ff4237 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,8 @@ import sys import logging from PySide6.QtWidgets import QApplication +from PySide6.QtGui import QIcon + from src.main_window import MainWindow from src.logger_module import Logger from login.login_dialog import LoginDialog @@ -24,6 +26,7 @@ if __name__ == "__main__": app = QApplication(sys.argv) + app.setWindowIcon(QIcon("jjim.ico")) # 로그인 다이얼로그 실행 (모달) login_dialog = LoginDialog(logger) diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..0a1124e --- /dev/null +++ b/setup.py @@ -0,0 +1,60 @@ +# setup.py +import sys +import os +from cx_Freeze import setup, Executable + +base = None +if sys.platform == "win32": + base = "Win32GUI" + +# 필요한 파일 경로 설정 +base_dir = os.path.dirname(__file__) +browsers_dir = os.path.join(base_dir, 'src', 'browsers') +chromium_dir = os.path.join(browsers_dir, 'src', 'browsers', 'chromium-1140') + +# ✅ 기존 포함 파일 + DLL 추가 +include_files = [ + ('src/browsers/chromium-1140', 'lib/src/browsers/chromium-1140'), + ('jjim.ico', 'jjim.ico'), +] +for src, dest in include_files: + if not os.path.exists(src): + print(f"경로가 존재하지 않습니다: {src}") + + +build_exe_options = { + "packages": [ + "asyncio", + "os", + "sys", + "re", + "logging", + "sqlite3", + "pandas", + "PySide6", + "playwright", + ], + 'include_files': include_files, + "excludes": [ + ], + "optimize": 1, + "zip_include_packages": ["*"], + "zip_exclude_packages": [], +} + +executables = [ + Executable( + script="main.py", + base=base, + target_name="jjim.exe", + icon="jjim.ico" + ) +] + +setup( + name="Jjim", + version="1.0", + description="찜기", + options={"build_exe": build_exe_options}, + executables=executables +) diff --git a/src/jjim_runner.py b/src/jjim_runner.py index 7876fd5..380291d 100644 --- a/src/jjim_runner.py +++ b/src/jjim_runner.py @@ -24,12 +24,13 @@ class Jjim_Runner(QThread): jjim_complete = Signal(bool, str) market_progress_signal = Signal(int) - product_progress_signal = Signal(int) + product_progress_signal = Signal(str) - def __init__(self, logger, db_manager): + def __init__(self, logger, db_manager, debug_mode): super().__init__() self.logger = logger self.db_manager = db_manager + self.debug_mode = debug_mode # 디버그 모드 여부 (True이면 headless False) self.browser = None self.context = None self.page = None @@ -38,6 +39,9 @@ class Jjim_Runner(QThread): self.loop = None self._initialized = False + def set_debug_mode(self, debug_mode): + self.debug_mode = debug_mode + async def monitor_login(self, page, login_url, timeout=90): """ 1초마다 현재 URL을 감시하여, QR 페이지 URL과 달라지면 로그인 완료로 판단. @@ -64,19 +68,35 @@ class Jjim_Runner(QThread): self.loop.run_forever() self.loop.close() + # def get_base_dir(self): + # """ + # 실행 환경에 따라 base_dir을 설정하는 메서드. + # cx_Freeze로 패키징된 경우 실행 파일의 경로, 일반 Python 환경일 경우 __file__을 기준으로 설정. + # """ + # if getattr(sys, 'frozen', False): # 패키징된 경우 + # base_dir = os.path.dirname(sys.executable) + # internal_dir = os.path.join(base_dir, 'lib') # _internal 디렉토리 포함 + # if os.path.exists(internal_dir): # _internal 디렉토리가 존재하면 base_dir로 설정 + # return internal_dir + + # else: # 일반 Python 실행 환경 + # base_dir = os.path.dirname(os.path.abspath(__file__)) + # return base_dir + def get_base_dir(self): """ - 실행 환경에 따라 base_dir을 설정하는 메서드. - cx_Freeze로 패키징된 경우 실행 파일의 경로, 일반 Python 환경일 경우 __file__을 기준으로 설정. + 패키징된 경우, 실행 파일의 위치 또는 실행 파일이 있는 폴더 아래의 'lib' 폴더를 기준으로 합니다. + 개발 환경에서는 src 폴더의 상위 디렉토리를 기준으로 합니다. """ - if getattr(sys, 'frozen', False): # 패키징된 경우 + if getattr(sys, 'frozen', False): base_dir = os.path.dirname(sys.executable) - internal_dir = os.path.join(base_dir, '_internal') # _internal 디렉토리 포함 - if os.path.exists(internal_dir): # _internal 디렉토리가 존재하면 base_dir로 설정 - return internal_dir - - else: # 일반 Python 실행 환경 - base_dir = os.path.dirname(os.path.abspath(__file__)) + # 패키징된 결과물에서는 browsers 폴더가 base_dir이 아니라 base_dir/lib 에 있을 수 있음. + if not os.path.exists(os.path.join(base_dir, "browsers")): + alt_dir = os.path.join(base_dir, "lib") + if os.path.exists(os.path.join(alt_dir, "browsers")): + base_dir = alt_dir + else: + base_dir = os.path.join(os.path.dirname(os.path.abspath(__file__))) return base_dir async def start_browser(self): @@ -87,6 +107,12 @@ class Jjim_Runner(QThread): try: base_path = self.get_base_dir() + + # 작업 디렉토리를 base_path로 변경 + os.chdir(base_path) + self.logger.log(f"작업 디렉토리 변경: {base_path}", level=logging.DEBUG) + os.environ["PLAYWRIGHT_BROWSERS_PATH"] = os.path.join(base_path, "browsers") + browser_path = os.path.join(base_path, 'browsers', 'chromium-1140', 'chrome-win', 'chrome.exe') user_data_dir = os.path.join(base_path, 'browsers', 'user_data') cache_dir = os.path.join(base_path, 'browsers', 'cache') @@ -116,42 +142,21 @@ class Jjim_Runner(QThread): self.playwright = await async_playwright().start() + # 디버그 모드에 따라 headless 옵션 설정 + headless_value = False if self.debug_mode else True - # # 1. 시크릿 브라우저 실행 - # self.browser = await self.playwright.chromium.launch( - # headless=True, - # executable_path=browser_path, - # args=[ - # '--disable-popup-blocking', - # '--start-maximized', - # '--window-size=1920,1080' - # ] - # ) - # self.context = await self.browser.new_context() - # self.page = await self.context.new_page() - - # 사용자설정 브라우저 실행 - self.browser = await self.playwright.chromium.launch_persistent_context( - user_data_dir=user_data_dir, - headless=False, + # 1. 시크릿 브라우저 실행 + self.browser = await self.playwright.chromium.launch( + headless=headless_value, executable_path=browser_path, - permissions=["geolocation", "notifications"], - geolocation={"latitude": 37.5665, "longitude": 126.9780}, - locale="ko-KR", args=[ '--disable-popup-blocking', '--start-maximized', '--window-size=1920,1080' - ], - user_agent=self.user_agent + ] ) - - # launch_persistent_context()는 바로 페이지를 생성할 수 있으므로: - self.page = await self.browser.new_page() - - # 첫 번째 기본 탭 닫기 - if self.browser.pages: - await self.browser.pages[0].close() + self.context = await self.browser.new_context() + self.page = await self.context.new_page() # 자동화 흔적 제거 스크립트 추가 await self.page.add_init_script(""" @@ -169,18 +174,42 @@ class Jjim_Runner(QThread): self._initialized = True self.logger.log("브라우저 초기화 완료", level=20) + + # await self.page.goto("https://smartstore.naver.com/tam_design") except Exception as e: - self.logger.log(f"브라우저 초기화 오류: {e}", level=40) + self.logger.log(f"브라우저 초기화 오류: {e}", level=40, exc_info=True) def start_login(self): """ - 메인윈도우에서 로그인 버튼 클릭 시 호출. + 브라우저 초기화가 완료될 때까지 기다린 후 로그인 시도를 시작합니다. QThread의 이벤트 루프에서 _start_login() 코루틴을 실행합니다. """ - if not self._initialized: - self.logger.log("브라우저가 초기화되지 않음", level=40) - return - asyncio.run_coroutine_threadsafe(self._start_login(), self.loop) + import time + + # 최대 3초간 self.loop가 생성될 때까지 기다림 + timeout = 3 + start_time = time.time() + while self.loop is None: + if time.time() - start_time > timeout: + self.logger.log("start_login: 이벤트 루프 초기화 대기 시간 초과", level=logging.ERROR) + return + time.sleep(0.1) + + async def wait_for_init(timeout=30): + start = asyncio.get_event_loop().time() + while not self._initialized: + await asyncio.sleep(0.1) + if asyncio.get_event_loop().time() - start > timeout: + raise TimeoutError("브라우저 초기화 대기 시간 초과") + + async def start_login_when_ready(): + try: + await wait_for_init() + await self._start_login() + except Exception as e: + self.logger.log(f"start_login 에러: {e}", level=logging.ERROR) + + asyncio.run_coroutine_threadsafe(start_login_when_ready(), self.loop) async def _start_login(self): """ @@ -194,7 +223,7 @@ class Jjim_Runner(QThread): try: await self.page.wait_for_selector("img#qrImage", timeout=10000) except Exception as e: - self.logger.log(f"QR 코드 로드 오류: {e}", level=40) + self.logger.log(f"QR 코드 로드 오류: {e}", level=40, exc_info=True) return await asyncio.sleep(2) # QR 코드 렌더링 대기 qrImage = await self.page.query_selector("img#qrImage") @@ -265,79 +294,112 @@ class Jjim_Runner(QThread): self.logger.log(f"마켓 리스트: {market_lists}", level=20) asyncio.run_coroutine_threadsafe(self._start_jjim(market_lists), self.loop) + + async def _start_jjim(self, market_lists): try: total_markets = len(market_lists) - # 전체 마켓 진행률 초기화 for m_idx, market in enumerate(market_lists): market_name = market.get("market_name") market_url = market.get("market_url") self.logger.log(f"{market_name} 진행 시작", level=logging.INFO) - # 전체상품 페이지 구성 - cp = 1 - page_url = market_url.rstrip("/") + f"/category/ALL?cp={cp}" + + # 초기 전체상품 페이지로 이동 + page_url = market_url.rstrip("/") + "/category/ALL?cp=1" await self.page.goto(page_url) - await asyncio.sleep(2) - # 전체상품수 요소 추출 (예: (총 4,061개)) + await asyncio.sleep(2) # 페이지 로드 대기 + + # 전체상품수 정보 추출 total_info_elem = await self.page.query_selector("div#CategoryProducts span._6lgM26zUO6") total_text = await total_info_elem.inner_text() if total_info_elem else "" - # 정규식을 이용해 숫자만 추출 match = re.search(r'[\d,]+', total_text) total_products = int(match.group(0).replace(',', '')) if match else 0 self.logger.log(f"{market_name}의 전체 상품수: {total_products}", level=logging.DEBUG) - clicked_count = 0 - - # 현재 마켓 내 상품 찜 진행률 초기화 - self.product_progress_signal.emit(0) + + # 진행률 계산용 변수 (이미 처리한 버튼 수, 전체 버튼 수) + processed_buttons = 0 + total_buttons_overall = 0 + + # 초기 상품 진행률 표시 (예: "0/0") + self.product_progress_signal.emit(f"{processed_buttons}/{total_products}") + # 페이지 이동은 제공된 "다음" 버튼 정보를 이용 while True: - # 페이지 내 제품 리스트 선택 (예: li 요소) - products = await self.page.query_selector_all("div#CategoryProducts li") - total_products_page = len(products) - self.logger.log(f"{market_name} cp={cp}의 상품수: {total_products_page}", level=logging.DEBUG) + # 찜버튼 자체를 모두 선택 (버튼 클래스 "zzim_button" 사용) + buttons = await self.page.query_selector_all("div#CategoryProducts button.zzim_button") + num_buttons = len(buttons) + total_buttons_overall += num_buttons + self.logger.log(f"{market_name} 현재 페이지의 찜버튼 개수: {num_buttons}", level=logging.DEBUG) - for p_idx, product in enumerate(products): - btn = await product.query_selector("button[type='button']") - if btn is None: - continue - # 만약 버튼에 disabled 속성이 있다면 클릭하지 않음 + # 각 버튼에 대해 처리 (이미 눌린 버튼도 count) + for b_idx, btn in enumerate(buttons): + processed_buttons += 1 # 모든 버튼은 처리 대상으로 포함 + # 버튼이 비활성화 상태이면 그냥 진행 (click 시도하지 않음) disabled_attr = await btn.get_attribute("disabled") if disabled_attr is not None: - continue - # aria-pressed 상태 확인 - state = await btn.get_attribute("aria-pressed") - if state == "false": - try: - await btn.click() - clicked_count += 1 - self.logger.log(f"[{market_name}] {p_idx+1}번 상품 찜하기 클릭", level=logging.DEBUG) - await asyncio.sleep(1) # 너무 빠르지 않게 - except Exception as click_error: - self.logger.log(f"[{market_name}] {p_idx+1}번 상품 클릭 오류: {click_error}", level=logging.ERROR, exc_info=True) - # 현재 마켓 내 찜 진행률 업데이트 - if total_products > 0: - prod_progress = int((clicked_count / total_products) * 100) - self.product_progress_signal.emit(prod_progress) - # 다음 페이지 존재 여부 확인 - next_btn = await self.page.query_selector("div#CategoryProducts a.fAUKm1ewwo._2Ar8-aEUTq._nlog_click") - if next_btn: - hidden = await next_btn.get_attribute("aria-hidden") - if hidden == "true": - self.logger.log(f"{market_name}의 마지막 페이지 도달", level=logging.DEBUG) - break + self.logger.log(f"[{market_name}] {b_idx+1}번째 버튼은 비활성화됨", level=logging.DEBUG) else: - await next_btn.click() - cp += 1 - await asyncio.sleep(2) + state = await btn.get_attribute("aria-pressed") + # 아직 찜되지 않았다면 클릭 시도 + if state == "false": + try: + await btn.click() + self.logger.log(f"[{market_name}] {b_idx+1}번째 버튼 클릭", level=logging.DEBUG) + await asyncio.sleep(0.1) + except Exception as click_error: + self.logger.log(f"[{market_name}] {b_idx+1}번째 버튼 클릭 오류: {click_error}", + level=logging.ERROR, exc_info=True) + # 진행률 업데이트: "처리된/전체" 형태로 + progress_text = f"{processed_buttons}/{total_products}" + self.product_progress_signal.emit(progress_text) + + # 페이지 이동: 현재 페이지 번호 추출 후 바로 다음 숫자 버튼이 있으면 클릭, 없으면 "다음" 버튼 클릭 + current_page_elem = await self.page.query_selector("div#CategoryProducts a.UWN4IvaQza._nlog_click[aria-current='true']") + if current_page_elem: + current_page_text = await current_page_elem.inner_text() + try: + current_page = int(current_page_text.strip()) + except ValueError: + self.logger.log("현재 페이지 번호 변환 오류", level=logging.ERROR) + break + self.logger.log(f"현재 페이지: {current_page}", level=logging.INFO) + next_page_clicked = False + # 페이지 번호 버튼들에서 현재 번호+1 찾기 + page_buttons = await self.page.query_selector_all("div#CategoryProducts a.UWN4IvaQza._nlog_click") + for btn in page_buttons: + text = await btn.inner_text() + if text.strip().isdigit(): + try: + page_num = int(text.strip()) + if page_num == current_page + 1: + await btn.click() + await asyncio.sleep(0.5) + next_page_clicked = True + break + except ValueError: + continue + if not next_page_clicked: + # 숫자 버튼으로 다음 페이지가 없으면 "다음" 버튼 클릭 + next_btn = await self.page.query_selector("div#CategoryProducts a.fAUKm1ewwo._2Ar8-aEUTq._nlog_click") + if next_btn: + hidden = await next_btn.get_attribute("aria-hidden") + if hidden == "true": + self.logger.log(f"{market_name}의 마지막 페이지 도달", level=logging.DEBUG) + break + else: + await next_btn.click() + await asyncio.sleep(0.5) + else: + break else: + self.logger.log("현재 페이지 번호 버튼을 찾을 수 없습니다.", level=logging.ERROR) break - # 마켓 진행률 업데이트 (전체 마켓 기준) market_progress = int(((m_idx + 1) / total_markets) * 100) self.market_progress_signal.emit(market_progress) - self.logger.log(f"{market_name} 처리 완료", level=logging.DEBUG) - - self.jjim_complete.emit(True, "모든 마켓의 찜하기 작업 완료") + self.logger.log(f"{market_name} 처리 완료: 처리된 버튼 {processed_buttons} / 전체 버튼 {total_products}", level=logging.DEBUG) + + self.jjim_complete.emit(True, f"[{total_markets}]개 마켓의 [{total_buttons_overall}]개 상품찜 하기 작업 완료 ") except Exception as e: self.logger.log(f"찜 중 오류: {e}", level=logging.ERROR, exc_info=True) - self.jjim_complete.emit(False, f"찜 중 오류: {e}") + self.jjim_complete.emit(False, f"찜 중 오류: {e}", exc_info=True) diff --git a/src/main_window.py b/src/main_window.py index 0aa7e09..73ce02e 100644 --- a/src/main_window.py +++ b/src/main_window.py @@ -27,25 +27,25 @@ class MainWindow(QWidget): self.resize(1000, 700) self.main_layout = QVBoxLayout() - # 메뉴바 생성 - self.menu_bar = QMenuBar(self) + # # 메뉴바 생성 + # self.menu_bar = QMenuBar(self) - # 설정 메뉴 - self.settings_menu = QMenu("설정", self) - self.menu_bar.addMenu(self.settings_menu) + # # 설정 메뉴 + # self.settings_menu = QMenu("설정", self) + # self.menu_bar.addMenu(self.settings_menu) - # 도움말 메뉴 - self.help_menu = QMenu("도움말", self) - self.menu_bar.addMenu(self.help_menu) + # # 도움말 메뉴 + # self.help_menu = QMenu("도움말", self) + # self.menu_bar.addMenu(self.help_menu) - # 도움말 메뉴에 항목 추가 - self.help_action = QAction("도움말 보기", self) - self.help_action.triggered.connect(self.show_help_dialog) - self.help_menu.addAction(self.help_action) + # # 도움말 메뉴에 항목 추가 + # self.help_action = QAction("도움말 보기", self) + # self.help_action.triggered.connect(self.show_help_dialog) + # self.help_menu.addAction(self.help_action) - # 사용자 정보 메뉴 - self.user_menu = QMenu("사용자 정보", self) - self.menu_bar.addMenu(self.user_menu) + # # 사용자 정보 메뉴 + # self.user_menu = QMenu("사용자 정보", self) + # self.menu_bar.addMenu(self.user_menu) # 로그창 추가 self.log_display = QTextEdit() @@ -68,7 +68,7 @@ class MainWindow(QWidget): self.debug_toggle.clicked.connect(self.on_debug_toggle) # 스타일 적용 (모던한 폰트, 패딩 등) - button_style = """ + self.button_style = """ QPushButton { font-size: 14px; padding: 8px 16px; @@ -81,8 +81,24 @@ class MainWindow(QWidget): background-color: #005F99; } """ - self.login_button.setStyleSheet(button_style) - self.jjim_button.setStyleSheet(button_style) + + # 로그인 완료 스타일 적용 (모던한 폰트, 패딩 등) + self.complete_button_style = """ + QPushButton { + font-size: 14px; + padding: 8px 16px; + background-color: #AAAAAA; /* 회색 배경 */ + color: white; + border: none; + border-radius: 4px; + } + QPushButton:hover { + background-color: #888888; /* 마우스 오버 시 좀 더 어두운 회색 */ + } + """ + + self.login_button.setStyleSheet(self.button_style) + self.jjim_button.setStyleSheet(self.complete_button_style) self.top_button_layout.addWidget(self.login_button) self.top_button_layout.addWidget(self.jjim_button) self.top_button_layout.addWidget(self.debug_toggle) @@ -137,8 +153,16 @@ class MainWindow(QWidget): # GUI 로그 연결 self.logger.set_gui_logger(self.append_gui_log) + self.jjim_runner = None + + + @Slot() + def on_login_button_clicked(self): + self.logger.log("로그인 버튼 클릭 - QR 로그인 요청", level=logging.INFO) + debug_mode = self.debug_toggle.isChecked() + # jjim_runner QThread 인스턴스 생성 및 브라우저 초기화 - self.jjim_runner = Jjim_Runner(self.logger, self.db_manager) + self.jjim_runner = Jjim_Runner(self.logger, self.db_manager, debug_mode) self.jjim_runner.login_ready.connect(self.on_qr_ready) self.jjim_runner.login_complete.connect(self.on_login_complete) self.jjim_runner.login_in_progress.connect(self.on_login_in_progress) @@ -148,10 +172,6 @@ class MainWindow(QWidget): self.jjim_runner.start() - @Slot() - def on_login_button_clicked(self): - self.logger.log("로그인 버튼 클릭 - QR 로그인 요청", level=logging.INFO) - # 로그인 프로세스 시작 전에 잠시 기다리라는 메시지창을 띄웁니다. self.show_wait_message("잠시만 기다려주세요.\nQR 코드 로딩 중입니다...") @@ -207,9 +227,16 @@ class MainWindow(QWidget): success_dialog = LoginSuccessDialog(self) success_dialog.exec() + # 로그인 완료 후 버튼 활성화 self.login_button.setEnabled(False) + self.login_button.setStyleSheet(self.complete_button_style) + + + self.login_button.setText("로그인 완료") + self.jjim_button.setEnabled(True) + self.jjim_button.setStyleSheet(self.button_style) @Slot() def on_jjim_button_clicked(self): @@ -226,6 +253,7 @@ class MainWindow(QWidget): def on_debug_toggle(self, state): mode = "ON" if state else "OFF" self.logger.log(f"디버그모드 {mode}", level=logging.INFO) + self.jjim_runner.set_debug_mode(state) @Slot(bool, str) def on_jjim_complete(self, success, message): @@ -234,27 +262,25 @@ class MainWindow(QWidget): else: QMessageBox.warning(self, "찜찜 실패", message) - - def get_base_dir(self): - """ - 실행 환경에 따라 base_dir을 설정하는 메서드. - """ - if getattr(sys, 'frozen', False): # 패키징된 경우 - base_dir = os.path.dirname(sys.executable) - internal_dir = os.path.join(base_dir, 'src') # _internal 디렉토리 포함 - if os.path.exists(internal_dir): - return internal_dir - else: - base_dir = os.path.dirname(os.path.abspath(__file__)) - return base_dir - @Slot(int) def update_market_progress(self, value): self.market_progress_bar.setValue(value) - @Slot(int) - def update_product_progress(self, value): - self.product_progress_bar.setValue(value) + @Slot(str) + def update_product_progress(self, progress_text): + """ + progress_text: "현재/전체" 형식의 문자열 예) "3/59" + """ + try: + current, total = progress_text.split('/') + current = int(current) + total = int(total) + percentage = int((current / total) * 100) if total != 0 else 0 + self.product_progress_bar.setValue(percentage) + self.product_progress_bar.setFormat(f"{progress_text} ({percentage}%)") + except Exception as e: + self.product_progress_bar.setValue(0) + self.product_progress_bar.setFormat("0/0 (0%)") def append_gui_log(self, message): self.log_display.append(message) diff --git a/temp_qr.png b/temp_qr.png index aa4f60a..eec8718 100644 Binary files a/temp_qr.png and b/temp_qr.png differ