-
Notifications
You must be signed in to change notification settings - Fork 412
Description
我按照前面issue的解决方案,加了CF的等待时间,把领游戏的区也给改成美国了,发现日志里面贴的检测到的免费游戏网址打开时404
{
"title": "Styx: Master of Shadows",
"url": "https://store.epicgames.com/en-US/p/0aa23c9aff4045d7b4b9b5ccc06b5c03"
}
2026-01-21 15:24:58 | DEBUG | services.epic_games_service:collect_epic_games:184 | Discover promotion
{
"title": "Styx: Shards of Darkness - Deluxe Edition",
"url": "https://store.epicgames.com/en-US/p/81e2a51d2be949b986993cdca25f4d7d"
}
实际地址应该是https://store.epicgames.com/zh-CN/p/styx-master-of-shadows-4d9ab3,是不是这个的问题?
附上所有日志(用户名密码已删,apikey是*)
2026-01-21 15:24:45 | DEBUG | main:deploy:108 | Starting deployment with configuration: {
"GEMINI_API_KEY": "**********",
"cache_dir": "/app/app/volumes/hcaptcha/.cache",
"challenge_dir": "/app/app/volumes/hcaptcha/.challenge",
"captcha_response_dir": "/app/app/volumes/hcaptcha/.captcha",
"ignore_request_types": [],
"ignore_request_questions": [
"Please drag the crossing to complete the lines"
],
"DISABLE_BEZIER_TRAJECTORY": true,
"EXECUTION_TIMEOUT": 300.0,
"RESPONSE_TIMEOUT": 120.0,
"RETRY_ON_FAILURE": true,
"WAIT_FOR_CHALLENGE_VIEW_TO_RENDER_MS": 1500,
"CONSTRAINT_RESPONSE_SCHEMA": true,
"CHALLENGE_CLASSIFIER_MODEL": "gemini-2.5-flash",
"IMAGE_CLASSIFIER_MODEL": "gemini-2.5-pro",
"SPATIAL_POINT_REASONER_MODEL": "gemini-2.5-pro",
"SPATIAL_PATH_REASONER_MODEL": "gemini-2.5-pro",
"IMAGE_CLASSIFIER_THINKING_BUDGET": 970,
"SPATIAL_POINT_THINKING_BUDGET": 1387,
"SPATIAL_PATH_THINKING_BUDGET": 1652,
"coordinate_grid": {
"x_line_space_num": 15,
"y_line_space_num": 20,
"color": "gray",
"adaptive_contrast": false
},
"enable_challenger_debug": false,
"ENABLE_APSCHEDULER": true,
"TASK_TIMEOUT_SECONDS": 900,
"REDIS_URL": "redis://redis:6379/0",
"CELERY_WORKER_CONCURRENCY": 1,
"CELERY_TASK_TIME_LIMIT": 1200,
"CELERY_TASK_SOFT_TIME_LIMIT": 900,
"headless": true
}
2026-01-21 15:24:45 | DEBUG | main:execute_browser_tasks:55 | Starting Epic Games collection task
2026-01-21 15:24:47 | DEBUG | main:execute_browser_tasks:69 | Browser initialized successfully
2026-01-21 15:24:47 | DEBUG | main:execute_browser_tasks:72 | Initiating Epic Games authentication
2026-01-21 15:24:51 | SUCCESS | services.epic_authorization_service:invoke:121 | Epic Games is already logged in
2026-01-21 15:24:51 | DEBUG | main:execute_browser_tasks:75 | Authentication completed
2026-01-21 15:24:51 | DEBUG | main:execute_browser_tasks:78 | Starting free games collection process
2026-01-21 15:24:58 | DEBUG | services.epic_games_service:collect_epic_games:184 | Discover promotion
{
"title": "Styx: Master of Shadows",
"url": "https://store.epicgames.com/en-US/p/0aa23c9aff4045d7b4b9b5ccc06b5c03"
}
2026-01-21 15:24:58 | DEBUG | services.epic_games_service:collect_epic_games:184 | Discover promotion
{
"title": "Styx: Shards of Darkness - Deluxe Edition",
"url": "https://store.epicgames.com/en-US/p/81e2a51d2be949b986993cdca25f4d7d"
}
2026-01-21 15:26:13 | ERROR | services.epic_games_service:collect_epic_games:195 | Locator.text_content: Timeout 30000ms exceeded.
Call log:
- waiting for locator("//aside//button[@data-testid='purchase-cta-button']")
Traceback (most recent call last):
File "/app/app/deploy.py", line 182, in
asyncio.run(deploy())
File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
return runner.run(main)
File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
File "/usr/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/lib/python3.12/asyncio/base_events.py", line 1987, in _run_once
handle._run()
File "/usr/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/app/app/deploy.py", line 113, in deploy
await execute_browser_tasks(headless=headless)
File "/app/app/deploy.py", line 81, in execute_browser_tasks
await agent.collect_epic_games()
File "/app/app/services/epic_games_service.py", line 193, in collect_epic_games
await self.epic_games.collect_weekly_games(game_promotions)
File "/app/.venv/lib/python3.12/site-packages/tenacity/asyncio/init.py", line 189, in async_wrapped
return await copy(fn, *args, **kwargs)
File "/app/.venv/lib/python3.12/site-packages/tenacity/asyncio/init.py", line 111, in call
do = await self.iter(retry_state=retry_state)
File "/app/.venv/lib/python3.12/site-packages/tenacity/asyncio/init.py", line 153, in iter
result = await action(retry_state)
File "/app/.venv/lib/python3.12/site-packages/tenacity/_utils.py", line 99, in inner
return call(*args, **kwargs)
File "/app/.venv/lib/python3.12/site-packages/tenacity/init.py", line 418, in exc_check
raise retry_exc.reraise()
File "/app/.venv/lib/python3.12/site-packages/tenacity/init.py", line 185, in reraise
raise self.last_attempt.result()
File "/usr/lib/python3.12/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
File "/usr/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/app/.venv/lib/python3.12/site-packages/tenacity/asyncio/init.py", line 114, in call
result = await fn(*args, **kwargs)
File "/app/app/services/epic_games_service.py", line 374, in collect_weekly_games
if not await self.add_promotion_to_cart(self.page, urls):
File "/app/app/services/epic_games_service.py", line 273, in add_promotion_to_cart
purchase_status = await purchase_btn.text_content()
File "/app/.venv/lib/python3.12/site-packages/playwright/async_api/_generated.py", line 17603, in text_content
await self._impl_obj.text_content(timeout=timeout)
File "/app/.venv/lib/python3.12/site-packages/playwright/_impl/_locator.py", line 630, in text_content
return await self._frame.text_content(
File "/app/.venv/lib/python3.12/site-packages/playwright/_impl/_frame.py", line 648, in text_content
return await self._channel.send(
File "/app/.venv/lib/python3.12/site-packages/playwright/_impl/_connection.py", line 69, in send
return await self._connection.wrap_api_call(
File "/app/.venv/lib/python3.12/site-packages/playwright/_impl/_connection.py", line 558, in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
playwright._impl._errors.TimeoutError: Locator.text_content: Timeout 30000ms exceeded.
Call log:
- waiting for locator("//aside//button[@data-testid='purchase-cta-button']")
2026-01-21 15:26:13 | DEBUG | services.epic_games_service:collect_epic_games:201 | All tasks in the workflow have been completed
2026-01-21 15:26:13 | DEBUG | main:execute_browser_tasks:82 | Free games collection completed
2026-01-21 15:26:13 | DEBUG | main:execute_browser_tasks:85 | Cleaning up browser resources
2026-01-21 15:26:16 | DEBUG | main:execute_browser_tasks:93 | Browser tasks execution finished successfully
2026-01-21 15:26:16 | DEBUG | main:deploy:160 | Epic Games scheduler started successfully
2026-01-21 15:26:16 | DEBUG | main:deploy:161 | Current time: 2026-01-21 15:26:16 CST
2026-01-21 15:26:16 | DEBUG | main:deploy:166 | Next execution scheduled: 2026-01-22 00:30:00 CST (job_id: weekly_epic_games_task)
2026-01-21 15:26:16 | DEBUG | main:deploy:166 | Next execution scheduled: 2026-01-22 12:00:00 CST (job_id: daily_epic_games_task)
2026-01-21 15:26:16 | DEBUG | main:deploy:171 | Scheduler is running, send SIGINT or SIGTERM to stop gracefully