ddvvc 发表于 2023-7-27 16:54

驾考网页自动化答题

根据驾考网站练习题的不同,替换driver.get()里面的url,可以实现答其他的题目。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import requests
import re
import time

# 配置Chrome浏览器选项
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("ignore-certificate-errors")# 添加其他您需要的选项

# 创建Chrome浏览器的WebDriver实例
driver = webdriver.Chrome(options=chrome_options)

# 打开网页
driver.get("https://www.jsyks.com/kms-mnks")# 替换为您要访问的网页地址

# 使用find_elements()方法查找题目元素
lis = driver.find_elements("css selector", "div.Exam ul.Content li")
for li in lis:
    # 获取题目的答案ID
    answer_id = li.get_attribute('c')
    link = f'https://tiba.jsyks.com/Post/{answer_id}.htm'
    response = requests.get(url=link).text
    # 使用正则表达式获取题目答案
    answer = re.findall('<br/>答案:<u>(.*?)</u>', response)
    bss = li.find_elements("css selector", "b")
    for bs in bss:
      choose = bs.text
      # 将答案文字转换为规范的表示('对'、'错'、'A'、'B'等)
      if choose == '正确':
            choose = '对'
      elif choose == '错误':
            choose = '错'
      elif len(choose) > 2:
            choose = choose
      for a in answer:
            if a == choose:
                bs.click()

# 添加等待,确保页面加载完成
wait = WebDriverWait(driver, 10)
submit_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".btnJJ")))

# 等待5秒,确保页面提交完成
time.sleep(5)

# 模拟点击提交按钮
submit_button.click()

# 等待5秒,确保页面提交完成
time.sleep(5)

# 自动关闭浏览器,释放资源
driver.quit()

梁茵 发表于 2023-7-28 07:55

有个问题楼主,真正考试的时候没法自动答题,练习自动答题那练不出来效果{:1_926:}

zhuxiangyu1024 发表于 2023-7-28 08:22

找个驾考宝典破解版,有时间就刷所有题目没时间就刷500道的会员题,第一遍只靠常识,不用思考直接回答,直接刷错题就行了,很快。记得科目一就这么刷了几遍,科目四上午考完科三中午看了一小时题目下午考的试。

d199212 发表于 2023-7-28 08:39

练手的吗,还是有啥目的?考试的时候不还得自己做吗
页: [1]
查看完整版本: 驾考网页自动化答题