僅供學習使用,若使用過程中出現問題,概不負責
話不多說,直接上代碼
ps:使用時需要安裝對應的webdriver,自行摸索,Python庫的安裝之類的就不說了
import time
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
username = ''
password = ''
browser = webdriver.Chrome()
num = 10703
maxnum = 10802
for i in range(num,maxnum):
url = 'http://moocs.unipus.cn/course/176/task/'+str(num)+'/show'
browser.get(url)
time.sleep(5)
try:
user_input = browser.find_element_by_name('username')
user_input.send_keys(username)
pass_input = browser.find_element_by_name('password')
pass_input.send_keys(password)
button = browser.find_element_by_id('login')
button.click()
print('重新登陸')
except NoSuchElementException:
print('下一節:' + str(num))
time.sleep(5)
browser.refresh()
time.sleep(5)
title = browser.find_element_by_class_name('dashboard-header')
print(title.text[5:])
back = (str)(title.text)
back = back[-4:]
if(back != '單元測試' and back != '思辨討論'):
browser.switch_to.default_content()
try:
browser.switch_to_frame('task-content-iframe')
text = browser.find_element_by_tag_name("iframe")
browser.switch_to.frame(text)
time.sleep(5)
times = browser.find_element_by_class_name('vjs-duration-display').text
print(times)
minutes, seconds= times.split(':')
minutes = (int)(minutes)
seconds = (int)(seconds)
sleeptime = minutes * 60 + seconds
button = browser.find_element_by_css_selector('.vjs-play-control.vjs-control.vjs-button')
button.click()
time.sleep(sleeptime)
except NoSuchElementException:
num = num - 1;
else:
time.sleep(5)
num = num + 1