嗨嗨,大家好呀~ 我是小圆
今天给你们分享一个好东西~~
驾考自动答题
emmm可能你们还不清楚是咋回事,就是最近看到考驾照的朋友很多,但是他们在网页上做题慢吞吞的,所以就搞了个自动答题~
用Python写了几十行代码,来实现自动答题!
先来看看效果呗
再来看看代码~
代码仅做展示
网址我屏蔽了,不然系统不给过~
模块
import requests
import parsel
from selenium import webdriver
发送请求
def get_response(html_url):
"""
:param html_url: 请求网址
:return: 响应对象
"""
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
}
response = requests.get(url=html_url, headers=headers)
return response
获取答案链接
python学习交流Q群:770699889 ###
def get_answer_url(html_url):
"""
:param html_url:
:return:
"""
html_data = get_response(html_url).text
selector = parsel.Selector(html_data)
answer_url_id = selector.css('.Content li::attr(c)').getall()
answer_url_list = [f'https://地址我屏蔽了,不然不给过/Post/{
i}.htm' for i in answer_url_id]
return answer_url_list
获取答案
def get_answer_result(answer_url):
"""
:param answer_url:
:return:
"""
answer_data = get_response(html_url=answer_url).text
selector = parsel.Selector(answer_data)
question = selector.css('#question a::text').get()
answer = selector.css('#question h1 u::text').get()
if answer == '对':
answer = '正确'
elif answer == '错':
answer = '错误'
answer_dict = {
'问题': question,
'答案': answer
}
return answer_dict
获取所有问题以及答案
def get_all_answer(answer_url_list):
"""
:param link:
:return:
"""
page = 1
for answer_url, li in zip(answer_url_list, lis):
answer_dict = get_answer_result(answer_url)
bs = li.find_elements_by_css_selector('b')
num = 1
for b in bs:
choose = b.text
if len(choose) > 2:
choose = choose[0]
print(choose, answer_dict['答案'])
if choose in answer_dict['答案']:
driver.find_element_by_css_selector(f'#LI{
page} b:nth-child({
num+2})').click()
print('点击了')
else:
print('没有点击')
num += 1
page += 1
print(answer_dict)
最后还有视频教程
【Python学习】实现驾考题目自动答题
好啦,今天的分享到这里就结束了 ~
对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/