使用python+selenium编写自动化脚本,帮助学生一键刷题

前言

代码的起因是一位会 计专业的同学有自动化的需求,学校实训要求刷题几千道,题目都是选择题填空题,为实现他的需求,我找了一个类似的网站练练手

 目标网址为:高中在线刷题网-可以在线刷题的高中题库

选择题界面如下,点击任意选项后,显示正确答案


代码难点:

本次代码难度不高,但界面元素的定位略麻烦,需要切换多重定位方式,还有选择题界面要先获取正确答案,再通过正确答案去勾选正确的选项

下面贴出代码:

import time
from selenium import webdriver

b = 1
driver = webdriver.Chrome()
driver.get("http://gz.shuatiw.com/index.php?user-app-login")
driver.maximize_window()
driver.find_element_by_name('args[username]').send_keys('自己创建')     #输入账号
driver.find_element_by_name('args[userpassword]').send_keys('自己创建')     #输入密码

driver.find_element_by_xpath('//button[@class="btn btn-primary btn-block"]').click()     #点击登录
time.sleep(2)
#driver.find_element_by_xpath('//a[@class="thumbnail"]').click()
driver.find_element_by_xpath('/html/body/div[6]/div/div/div/div/div/div[2]/a/img').click()  #点击课程
driver.find_element_by_xpath('//a[@class="btn btn-primary"]').click()   #点击题库
driver.find_element_by_css_selector('#panel-element-1 > ul > li:nth-child(1) > a.btn.btn-default.pull-right').click()   #点击开始做题

for a in range(100):
    driver.find_element_by_xpath('//span[@class="selector"]').click()       #点击任意选项
    flag = driver.find_element_by_xpath('//span[@class="text-success"]').text       #获取正确答案
    print('第%d题答案为%s'%(b,flag))
    if flag == 'A':
        driver.find_element_by_xpath('//*[@id="selectbox"]/div/div[1]/label/span').click()
    elif flag == 'B':
        driver.find_element_by_xpath('//*[@id="selectbox"]/div/div[2]/label/span').click()
    elif flag == 'C':
        driver.find_element_by_xpath('//*[@id="selectbox"]/div/div[3]/label/span').click()
    else:
        driver.find_element_by_xpath('//*[@id="selectbox"]/div/div[4]/label/span').click()
    driver.find_element_by_link_text('下一题').click()
    b += 1

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ERROR_R

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值