| | |
| | | |
| | | loading_count = 0 |
| | | |
| | | se = MAQAnswerElements |
| | | elements = MAQAnswerElements |
| | | |
| | | tip_timing = 35 |
| | | |
| | | def exercise_answer(self): |
| | | # 获取到题目 |
| | | time.sleep(3) |
| | | title = self.get_ele(self.se.q_title, 5) |
| | | title = self.get_ele(self.elements.q_title, 5) |
| | | # 截取已答数量与总数量 |
| | | match = re.search(r"(\d+)/(\d+)", title.text) |
| | | current = int(match.group(1)) |
| | |
| | | |
| | | while current <= total: |
| | | # 获取到所有选项 |
| | | options = self.get_eles(self.se.options, 5) |
| | | options = self.get_eles(self.elements.options, 5) |
| | | number = random.randint(0, 5) |
| | | if options[number].is_enabled(): |
| | | options[number].click() |
| | |
| | | continue |
| | | time.sleep(3) |
| | | # 点击提交按钮 |
| | | self.click(self.se.exercise_submit_btn, 10) |
| | | self.click(self.elements.exercise_submit_btn, 10) |
| | | |
| | | def answer(self): |
| | | # 获取到题目 |
| | | time.sleep(3) |
| | | title = self.get_ele(self.se.q_title, 5) |
| | | title = self.get_ele(self.elements.q_title, 5) |
| | | # 截取已答数量与总数量 |
| | | match = re.search(r"(\d+)/(\d+)", title.text) |
| | | current = int(match.group(1)) |
| | | total = int(match.group(2)) |
| | | |
| | | while current <= total: |
| | | print(f"\n现在是第{current}题") |
| | | print(f"\n现在是MAQ第{current}题") |
| | | # 触发事中 |
| | | if current == self.tip_timing: |
| | | time.sleep(5) |
| | | self.click(self.se.continue_testing_btn, 10) |
| | | self.click(self.elements.continue_testing_btn, 10) |
| | | |
| | | # 获取到所有选项 |
| | | options = self.get_eles(self.se.options, 5) |
| | | options = self.get_eles(self.elements.options, 5) |
| | | number = random.randint(0, 5) |
| | | if options[number].is_enabled(): |
| | | options[number].click() |
| | |
| | | |
| | | time.sleep(3) |
| | | # 点击提交按钮 |
| | | self.click(self.se.submit_btn, 10) |
| | | self.click(self.elements.submit_btn, 10) |
| | | # while True: |
| | | # # 获取到所有选项 |
| | | # options = self.get_eles(self.se.options) |
| | |
| | | # 判断hint是否有内容 |
| | | if hint: |
| | | # 获取提示语内容 |
| | | hint_text = self.get_ele(self.se.hint_text).text |
| | | hint_text = self.get_ele(self.elements.hint_text).text |
| | | # 判断提示语内容是否包含传入的hint |
| | | if hint in hint_text: |
| | | flag = True |
| | | self.click(self.se.continue_testing_btn) |
| | | self.click(self.elements.continue_testing_btn) |
| | | |
| | | # 标题不存在直接返回False |
| | | if not self.title_is_display(): |
| | |
| | | |
| | | try: |
| | | # 获取到所有选项 |
| | | options = self.get_eles(self.se.options) |
| | | options = self.get_eles(self.elements.options) |
| | | if len(options) < 6: |
| | | continue |
| | | number = random.randint(0, 5) |
| | |
| | | |
| | | # 提交按钮存在则点击 |
| | | if self.submit_btn_is_display(): |
| | | self.click(self.se.submit_btn) |
| | | self.click(self.elements.submit_btn) |
| | | # 数据是否上传完成 |
| | | time.sleep(15) |
| | | if self.upload_is_success(): |
| | |
| | | return True |
| | | # 是否网络异常 |
| | | try: |
| | | self.get_ele(self.se.network_exception_title) |
| | | self.get_ele(self.elements.network_exception_title) |
| | | return "网络异常" |
| | | except NoSuchElementException: |
| | | pass |
| | |
| | | i = 0 |
| | | while i < 60: |
| | | try: |
| | | self.get_ele(self.se.upload_success_title, timeout=5) |
| | | self.get_ele(self.elements.upload_success_title, timeout=5) |
| | | return True |
| | | except TimeoutException: |
| | | i += 1 |
| | |
| | | :return: |
| | | """ |
| | | try: |
| | | button = self.get_ele(self.se.submit_btn) |
| | | button = self.get_ele(self.elements.submit_btn) |
| | | if button.is_enabled(): |
| | | return True |
| | | else: |
| | |
| | | """ |
| | | try: |
| | | # 点击继续测试按钮 |
| | | button = self.get_ele(self.se.continue_testing_btn) |
| | | button = self.get_ele(self.elements.continue_testing_btn) |
| | | if button.is_enabled(): |
| | | return True |
| | | else: |
| | |
| | | """ |
| | | try: |
| | | # 获取标题 |
| | | self.get_ele(self.se.title, timeout=10) |
| | | self.get_ele(self.elements.title, timeout=10) |
| | | return True |
| | | except TimeoutException: |
| | | return False |