diff --git a/src/projects/welearn/exercise/courses.ts b/src/projects/welearn/exercise/courses.ts index 7b7f413..dbed974 100644 --- a/src/projects/welearn/exercise/courses.ts +++ b/src/projects/welearn/exercise/courses.ts @@ -41,6 +41,8 @@ const DATA_SOLUTION = [ "New Advanced College English-Integrated Course 2", // 所以如果只是后端添加catalog,只有第一个页面有效 "New Advanced College English-Integrated Course 3", "New Advanced College English-Integrated Course 4", + "Pioneer College English Integrated Course 1", // 领航大学英语综合教程1 + "Pioneer College English Integrated Course 2", // 领航大学英语综合教程2 ]; /**et类型(url中包含data)理论上可以直接在原始页面上找(Demcorazy就是这么做的),不过也可以统一通过ajax请求获取*/ diff --git a/src/projects/welearn/exercise/dataSolution/parser.ts b/src/projects/welearn/exercise/dataSolution/parser.ts index 278320f..938b142 100644 --- a/src/projects/welearn/exercise/dataSolution/parser.ts +++ b/src/projects/welearn/exercise/dataSolution/parser.ts @@ -27,13 +27,26 @@ function parseAnswer(element: HTMLElement) { answerType = "blank"; } else { //选择题 + answerType = "choice"; try { - answerText = element.firstElementChild!.textContent; - if (!answerText) answerText = element.textContent; + let Nodechild = element.firstElementChild!; + let NodeSibling = element.nextElementSibling; + if (Nodechild) { + answerText = Nodechild.textContent; + } else if (NodeSibling) { + // 适配领航大学英语中部分填空题的答案位置(被相邻节点包含) + if (NodeSibling.hasChildNodes()) { + NodeSibling.childNodes.forEach(node => answerText += node.textContent?.trim() + " " || "") + } else { + answerText = NodeSibling.textContent?.trim() || answerText + } + answerType = "blank"; + } else { + answerText = element.textContent; + } } catch (error) { answerText = element.textContent; } - answerType = "choice"; } return {