huisunan / epic4j

自动领取epic免费游戏,receive free weekly games
Apache License 2.0
69 stars 13 forks source link

不会进行下一个账号认领 #20

Closed jsdfhasuh closed 2 years ago

jsdfhasuh commented 2 years ago

相关日志:

2022-05-06 17:15:13.644 INFO 7 --- [ main] com.hsn.epic4j.Epic4jApplication : Starting Epic4jApplication v1.3.3 using Java 1.8.0_275 on 6e013483f750 with PID 7 (/opt/epic4j/epic4j.jar started by chrome in /opt/epic4j) 2022-05-06 17:15:13.650 DEBUG 7 --- [ main] com.hsn.epic4j.Epic4jApplication : Running with Spring Boot v2.6.2, Spring v5.3.14 2022-05-06 17:15:13.650 INFO 7 --- [ main] com.hsn.epic4j.Epic4jApplication : No active profile set, falling back to default profiles: default 2022-05-06 17:15:14.900 INFO 7 --- [ main] com.hsn.epic4j.Epic4jApplication : Started Epic4jApplication in 2.847 seconds (JVM running for 5.624) 2022-05-06 17:15:14.970 INFO 7 --- [ main] com.hsn.epic4j.start.BaseRunner : use cron:17 15 17 ? 2022-05-06 17:15:18.622 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.BaseRunner : https://store-site-backend-static.ak.epicgames.com/freeGamesPromotions?locale=zh-CN&country=CN&allowCountries=CN 2022-05-06 17:15:19.492 INFO 7 --- [TaskScheduler-1] com.hsn.epic4j.start.BaseRunner : start **@gmail.com work 2022-05-06 17:15:19.497 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.MainStart : driver data path :/opt/epic4j/./data/*****@gmail.com 2022-05-06 17:15:20.750 INFO 7 --- [ctReadThread-21] c.r.j.transport.WebSocketTransport : Websocket serverHandshake status: 101 2022-05-06 17:15:20.751 INFO 7 --- [TaskScheduler-1] c.r.j.core.browser.BrowserRunner : Connect to browser by websocket url: ws://127.0.0.1:34976/devtools/browser/6c89093c-8f60-48b6-b979-4da0b59a092b 2022-05-06 17:15:26.752 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.BaseRunner : needLogin:true 2022-05-06 17:15:26.752 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.PasswordLogin : login start 2022-05-06 17:15:46.284 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.util.PageUtil : ignore exception

java.lang.RuntimeException: com.ruiyun.jvppeteer.exception.ProtocolException: Protocol error : "Cannot find context with specified id" at com.ruiyun.jvppeteer.core.page.ExecutionContext.evaluateInternal(ExecutionContext.java:119) ~[jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.ExecutionContext.evaluateHandle(ExecutionContext.java:65) ~[jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.JSHandle.evaluateHandle(JSHandle.java:50) ~[jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.ElementHandle.$(ElementHandle.java:238) ~[jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.DOMWorld.$(DOMWorld.java:139) ~[jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.Frame.$(Frame.java:102) ~[jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.Page.$(Page.java:535) ~[jvppeteer-1.1.4.jar!/:na] at com.hsn.epic4j.bean.SelectItem.lambda$new$0(SelectItem.java:25) ~[classes!/:1.3.3] at com.hsn.epic4j.util.PageUtil.lambda$findSelectors$0(PageUtil.java:68) ~[classes!/:1.3.3] at com.hsn.epic4j.util.PageUtil.timer(PageUtil.java:132) ~[classes!/:1.3.3] at com.hsn.epic4j.util.PageUtil.findSelectors(PageUtil.java:64) ~[classes!/:1.3.3] at com.hsn.epic4j.start.PasswordLogin.login(PasswordLogin.java:41) ~[classes!/:1.3.3] at com.hsn.epic4j.start.BaseRunner.doStart(BaseRunner.java:164) ~[classes!/:1.3.3] at com.hsn.epic4j.start.BaseRunner.start(BaseRunner.java:128) ~[classes!/:1.3.3] at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.3.14.jar!/:5.3.14] at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:95) ~[spring-context-5.3.14.jar!/:5.3.14] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_275] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_275] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_275] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_275] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_275] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_275] at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_275] Caused by: com.ruiyun.jvppeteer.exception.ProtocolException: Protocol error : "Cannot find context with specified id" at com.ruiyun.jvppeteer.transport.CDPSession.send(CDPSession.java:140) ~[jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.ExecutionContext.evaluateInternal(ExecutionContext.java:114) ~[jvppeteer-1.1.4.jar!/:na] ... 22 common frames omitted

2022-05-06 17:15:46.598 INFO 7 --- [TaskScheduler-1] com.hsn.epic4j.start.PasswordLogin : login success 2022-05-06 17:15:46.598 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.PasswordLogin : login end 2022-05-06 17:15:46.600 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.MainStart : all free items:Terraforming Mars 2022-05-06 17:15:46.602 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.MainStart : item url:https://store.epicgames.com/zh-CN/p/terraforming-mars-18c3ad 2022-05-06 17:16:00.876 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.MainStart : user licence check

相关的配置文件:

epic:

浏览器用户文件存储位置,默认为jar包同路径下data文件夹,不存在会新建目录

dataPath: ./data

浏览器启动参数

driverArgs:

epic站点url

epicUrl: https://store.epicgames.com/zh-CN/

headLess无头模式

headLess: true

browserVersion指定chromium的版本,可能有一定风险

browser-version:

checkLoginUrl epic登录判断api

check-login-url: https://www.epicgames.com/account/v2/ajaxCheckLogin

userInfoUrl获取用户信息url

user-info-url: https://www.epicgames.com/account/v2/personal/ajaxGet?sessionInvalidated=true

freeGameUrl免费游戏url

free-game-url: https://store-site-backend-static.ak.epicgames.com/freeGamesPromotions?locale={}&country={}&allowCountries={}

storeUrl商店url

store-url: https://store.epicgames.com/zh-CN/p/{} cron: no-sandbox: true cookie-path: auto-update: true multi-user: true users:

huisunan commented 2 years ago

我先帮你邮箱信息打个码

huisunan commented 2 years ago

在第一个领完后才会开始下一个,日志显示第一个还没操作完,后面的日志还有吗

jsdfhasuh commented 2 years ago

2022-05-06 17:16:00.876 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.MainStart : user licence check

后续日志

2022-05-06 21:23:18.130 ERROR 7 --- [TaskScheduler-1] com.ruiyun.jvppeteer.core.page.WaitTask :

java.lang.RuntimeException: waiting for selector "#webPurchaseContainer iframe" failed: timeout 30,000ms exceeded at com.ruiyun.jvppeteer.core.page.WaitTask.(WaitTask.java:73) [jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.DOMWorld.waitForSelectorOrXPath(DOMWorld.java:438) [jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.DOMWorld.waitForSelector(DOMWorld.java:393) [jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.Frame.waitForSelector(Frame.java:180) [jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.Page.waitForSelector(Page.java:2238) [jvppeteer-1.1.4.jar!/:na] at com.ruiyun.jvppeteer.core.page.Page.waitForSelector(Page.java:2226) [jvppeteer-1.1.4.jar!/:na] at com.hsn.epic4j.util.PageUtil.getStrProperty(PageUtil.java:116) [classes!/:1.3.3] at com.hsn.epic4j.start.MainStart.receive(MainStart.java:158) [classes!/:1.3.3] at com.hsn.epic4j.start.MainStart$$FastClassBySpringCGLIB$$5247e22.invoke() [classes!/:1.3.3] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) [spring-core-5.3.14.jar!/:5.3.14] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) [spring-aop-5.3.14.jar!/:5.3.14] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) [spring-aop-5.3.14.jar!/:5.3.14] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) [spring-aop-5.3.14.jar!/:5.3.14] at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) [spring-aop-5.3.14.jar!/:5.3.14] at com.hsn.epic4j.aop.RetryAop.retryAround(RetryAop.java:30) [classes!/:1.3.3] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_275] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_275] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_275] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_275] at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) [spring-aop-5.3.14.jar!/:5.3.14] at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) [spring-aop-5.3.14.jar!/:5.3.14] at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) [spring-aop-5.3.14.jar!/:5.3.14] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) [spring-aop-5.3.14.jar!/:5.3.14] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) [spring-aop-5.3.14.jar!/:5.3.14] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) [spring-aop-5.3.14.jar!/:5.3.14] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) [spring-aop-5.3.14.jar!/:5.3.14] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) [spring-aop-5.3.14.jar!/:5.3.14] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) [spring-aop-5.3.14.jar!/:5.3.14] at com.hsn.epic4j.start.MainStart$$EnhancerBySpringCGLIB$$e950df8f.receive() [classes!/:1.3.3] at com.hsn.epic4j.start.BaseRunner.doStart(BaseRunner.java:167) [classes!/:1.3.3] at com.hsn.epic4j.start.BaseRunner.start(BaseRunner.java:128) [classes!/:1.3.3] at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.3.14.jar!/:5.3.14] at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:95) ~[spring-context-5.3.14.jar!/:5.3.14] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_275] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_275] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_275] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_275] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_275] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_275] at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_275]

2022-05-06 21:23:18.131 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.aop.RetryAop : retry message:null 2022-05-06 21:23:18.131 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.aop.RetryAop : message:领取失败, receive retry count :0 2022-05-06 21:23:18.132 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.MainStart : all free items:Terraforming Mars 2022-05-06 21:23:18.132 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.MainStart : item url:https://store.epicgames.com/zh-CN/p/terraforming-mars-18c3ad 2022-05-06 21:23:32.071 DEBUG 7 --- [TaskScheduler-1] com.hsn.epic4j.start.MainStart : user licence check

jsdfhasuh commented 2 years ago

谢谢大佬

huisunan commented 2 years ago

日志上看第一次领取失败了,不知道后面的重试有没有成功

jsdfhasuh commented 2 years ago

这个游戏在这次运行脚本之前已经在库了。但是它仍旧卡死,不会进行下一个账号领取

huisunan commented 2 years ago

卡在user licence check吗

huisunan commented 2 years ago

Unexpected error occurred in scheduled task 有没有类似的异常

huisunan commented 2 years ago

现在知道的情况是获取周免游戏失败后不会重试,线程直接结束

jsdfhasuh commented 2 years ago

好像只发现这几种异常 java.lang.RuntimeException: waiting for selector "#webPurchaseContainer iframe" failed: timeout 30,000ms exceeded java.lang.NullPointerException: null java.lang.RuntimeException: com.ruiyun.jvppeteer.exception.ProtocolException: Protocol error : "Cannot find context with specified id" 有成功完成两个号的领取,但是不会判断是否已经领取,而是等待第一个账号领取失败两次后,再进行第二个号。 第一账号登陆时间是5月6号的17:00,第二个账号登录时间是5月7号的04:00.中间间隔了很长时间

huisunan commented 2 years ago

这个时间间隔确实太久了

huisunan commented 2 years ago

方便加个qq群:551322748,看一下完整日志吗

jsdfhasuh commented 2 years ago

加QQ群,晚点上传日志

huisunan @.***> 于 2022年5月7日周六 下午3:50写道:

方便价格qq群:551322748,看一下完整日志吗

— Reply to this email directly, view it on GitHub https://github.com/huisunan/epic4j/issues/20#issuecomment-1120158726, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL4RSQTYX4SUC75LDXYUVFDVIYOD3ANCNFSM5VHR6UCQ . You are receiving this because you authored the thread.Message ID: @.***>