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

前言

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

目标网址为:http://gz.shuatiw.com/index.php?user-app-login

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

使用python+seleniu编写自动化脚本,帮助学生一键刷题_第1张图片


代码难点:

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

 

下面贴出代码:

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('test')     #输入账号
driver.find_element_by_name('args[userpassword]').send_keys('1357924680')     #输入密码

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

你可能感兴趣的:(python,selenium,python)