自动化刷题小练习

驾校题库自动化刷题,使用了selenium以及requests等一些爬虫用的库

python 复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
import requests
import re
import time
driver=webdriver.Chrome()

driver.get("https://www.jsyks.com/kms-mnks")

question_list=driver.find_elements(By.CSS_SELECTOR,"div.Exam ul li")
print(question_list)

for li in question_list:
    answer_id=li.get_attribute("c")
    # print(answer_id)
    link=f'https://tiba.jsyks.com/Post/{answer_id}.htm'
    """
    通过 request获取数据
    """
    response=requests.get(link)
    html_data=response.text
    # print(html_data)
    a=re.findall('<br/>答案:<u>(.*?)</u>',html_data)[0]
#     获取答案内容
    bs=li.find_elements(By.CSS_SELECTOR,"b")
    for b in bs:
        choose=b.text
        if choose=="正确":
            choose="对"
        elif choose=="错误":
            choose="错"
        if len(choose)>2:
            choose=choose[0]
        for ans in a:
            if choose == ans:
                b.click()


submit=driver.find_element(By.CSS_SELECTOR,"div.ExamBtn u.btnJJ")
submit.click()
time.sleep(30)
相关推荐
阳光满路3 分钟前
三步搞定:Linux 安装配置 Telnet 服务
linux·运维·centos
码界索隆11 分钟前
Python转Java系列:前言
java·开发语言·python
Sunny_202283715 分钟前
有些CAD图形能显示却打印不出来
运维·pccad插件、cad·pccad个人免费版·免费cad插件
金銀銅鐵15 分钟前
用 Tkinter 实现一个罗马数字转整数的简单工具
后端·python
梦想的颜色43 分钟前
MySQL 数据存储结构与查询执行生命周期深度解析
运维·数据结构·数据库·mysql·线程·优化
RisunJan1 小时前
Linux命令-objdump(显示二进制文件信息)
linux·运维
MC皮蛋侠客1 小时前
Ruff 完全指南:下一代 Python Linter 与 Formatter
python
小肥君1 小时前
docker镜像配置
运维·docker·容器