自动化刷题小练习

驾校题库自动化刷题,使用了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)
相关推荐
微涼5308 分钟前
【Python】在使用联网工具时需要的问题
服务器·python·php
想唱rap11 分钟前
线程的同步与互斥
linux·运维·服务器·数据库·mysql
小白菜又菜16 分钟前
Leetcode 657. Robot Return to Origin
python·leetcode·职场和发展
2402_8813193026 分钟前
跨服务通信兜底机制-Java 回传失败无持久重试队列,报告可能静默丢失。
java·开发语言·python
格林威30 分钟前
SSD 写入速度测试命令(Linux)(基于工业相机高速存储)
linux·运维·开发语言·人工智能·数码相机·计算机视觉·工业相机
勇闯逆流河1 小时前
【LInux】linux控制(进程替换,自主shell的实现详解)
linux·运维·服务器
IMPYLH1 小时前
Linux 的 ls 命令
linux·运维·服务器·bash
自信不孤单1 小时前
UniAda核心代码详解
python·ai·大模型·tta·狄利克雷理论·证据感知
smj2302_796826522 小时前
解决leetcode第3883题统计满足数位和数组的非递减数组数目
python·算法·leetcode
李昊哲小课2 小时前
Python办公自动化教程 - openpyxl让Excel处理变得轻松
python·信息可视化·excel