fix: fix bug 修复了每周答题答错未能获取到提示信息时直接停止答题的bug

每个用户三十分钟未完成学习自动关闭,防止内存泄漏
This commit is contained in:
johlanse 2021-12-07 18:27:48 +08:00
parent e134c304e6
commit e35c4011cc
1 changed files with 16 additions and 8 deletions

View File

@ -122,7 +122,13 @@ func (c *Core) RespondDaily(cookies []Cookie, model string) {
return return
} }
tryCount := 0
for true { for true {
label:
tryCount++
if tryCount >= 30 {
log.Panicln("多次循环尝试答题已超出30次自动退出")
}
if c.IsQuit() { if c.IsQuit() {
return return
} }
@ -213,29 +219,31 @@ func (c *Core) RespondDaily(cookies []Cookie, model string) {
// 获取答题帮助 // 获取答题帮助
openTips, err := page.QuerySelector( openTips, err := page.QuerySelector(
`#app > div > div.layout-body > div > div.detail-body > div.question > div.q-footer > span`) `#app > div > div.layout-body > div > div.detail-body > div.question > div.q-footer > span`)
if err != nil { if err != nil || openTips == nil {
log.Errorln("未获取到题目提示信息" + err.Error()) log.Errorln("未获取到题目提示信息")
return goto label
} }
log.Debugln("开始尝试获取打开提示信息按钮")
err = openTips.Click() err = openTips.Click()
if err != nil { if err != nil {
log.Errorln("点击打开提示信息按钮失败" + err.Error()) log.Errorln("点击打开提示信息按钮失败" + err.Error())
goto label
return
} }
log.Debugln("已打开提示信息")
content, err := page.Content() content, err := page.Content()
if err != nil { if err != nil {
log.Errorln("获取网页全体内容失败" + err.Error()) log.Errorln("获取网页全体内容失败" + err.Error())
return goto label
} }
log.Debugln("以获取网页内容")
err = openTips.Click() err = openTips.Click()
if err != nil { if err != nil {
log.Errorln("点击打开提示信息按钮失败" + err.Error()) log.Errorln("点击打开提示信息按钮失败" + err.Error())
return goto label
} }
log.Debugln("已关闭提示信息")
tips := getTips(content) tips := getTips(content)
log.Infoln("[提示信息]", tips) log.Infoln("[提示信息]", tips)