轻松答题:用Python编写网页自动答题脚本助你高分通过

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取

环境使用:

  • Python 3.10 解释器

  • Pycharm 编辑器

模块使用:

  • from selenium import webdriver —> 自动测试模块 pip install selenium==3.141.0 <指定版本安装>

    谷歌驱动下载地址: https://googlechromelabs.github.io/chrome-for-testing/#stable

selenium: 自动化测试模块

模拟人的行为去操作浏览器 <网页自动化操作>

搭配: 对应浏览器和浏览器驱动去使用

selenium -> 驱动 -> 浏览器

我选择是谷歌浏览器:

  • 驱动如何下载安装:

    1. 确定浏览器版本

    2. 驱动下载地址找对应版本

      大版本一样, 小版本最相近就可以了

    3. 解压文件 chromedriver.exe 文件

      • 放到python安装目录下面

答题流程操作:

  1. 打开浏览器

  2. 访问答题网页

  3. 读题进行答案选择

  4. 提交试卷

答题网站: 首先得有题库

  1. 单选

  2. 多选

  3. 随机抽取题目

使用selenium获取数据的时候: <既没有报错, 又没有内容>

  1. 通过元素去定位内容

    • 要么定位元素语法问题

    • 要么元素没有加载出来

代码展示

导入模块

from selenium import webdriver

打开浏览器

driver = webdriver.Chrome()

访问网站

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
url = 'https://www.jsyks.com/kmy-mnks'
driver.get(url)

延时等待

driver.implicitly_wait(10) # 不是死等 time.sleep(10) 死等

“”“通过元素定位: 获取答案 / 进行答题操作”“”

lis = driver.find_elements_by_css_selector('.Content li') # 通过 CSS 选择器查找元素

for循环遍历

for li in lis:

获取答案内容

    answer = li.get_attribute('k')

判断答案内容进行调整修改

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
    if answer == 'E':
        answer = '错误'
    elif answer == 'R':
        answer = '正确'

获取选项 -> 答案的内容和选择的进行对比

    bs = li.find_elements_by_css_selector('b')

遍历选项

    for b in bs:

获取选项内容 R表示正确 E表示错误

        choose = b.text

判断选项长度

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
        if len(choose) > 2: # 长度大于2就是选择题
            choose = choose[0] # 索引位置取值提取第一个元素

判断答案和选项是否一致

        if answer == choose:
            b.click() # 点击选择答案

最后提交试卷

driver.find_element_by_css_selector('.btnJJ').click()

尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦

希望本篇文章有对你带来帮助 ,有学习到一点知识~

躲起来的星星也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~更多源码、资料、素材、解答、交流皆点击下方名片获取呀

你可能感兴趣的:(python爬虫,python,开发语言,pycharm,学习)