命名纯属乱来,以下代码为试验版
针对广州大学慕课平台的一次尝试
import re
from pymouse import PyMouse
from pykeyboard import PyKeyboard
import time
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver import ChromeOptions
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
driver = webdriver.Chrome(executable_path='chromedriver.exe', options=option)
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
a = str(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
b = "".join(re.findall(r"d+", a))
print(b)
def homework():
f = open("D:/273.txt", "r", encoding='utf8')
i = 1
c = '1'
while i:
b = "".join(re.findall(r"S", f.readline()))
if not b:
i = False
else:
c = str(c) + str(b)
WebDriverWait(driver, 300, 0.3).until(
lambda x: driver.find_element_by_xpath('//*[@id="post_area"]'))
driver.find_element_by_xpath('//*[@id="post_area"]').send_keys(c)
driver.find_element_by_xpath('//*[@id="btn_submit_post"]').click()
f.close()
w = open('D:/273.txt', 'w', encoding='utf8')
w.close()
def basic():
a = PyKeyboard()
driver.get('http://mooc.gzhu.edu.cn')
WebDriverWait(driver, 300, 0.3).until(
lambda x: driver.find_element_by_xpath('//*[@id="inner-header"]/div[2]/div[1]/div/a[2]'))
driver.find_element_by_xpath('//*[@id="inner-header"]/div[2]/div[1]/div/a[2]').click()
WebDriverWait(driver, 300, 0.3).until(
lambda x: driver.find_element_by_xpath('//*[@id="userLoginPage"]/div[2]/div[2]/div[1]/a[2]'))
driver.find_element_by_xpath('//*[@id="userLoginPage"]/div[2]/div[2]/div[1]/a[2]').click()
WebDriverWait(driver, 300, 0.3).until(lambda x: driver.find_element_by_xpath('//*[@id="un"]'))
driver.find_element_by_xpath('//*[@id="un"]').send_keys('你的学号')
driver.find_element_by_xpath('//*[@id="pd"]').send_keys('你的密码')
driver.find_element_by_xpath('//*[@id="index_login_btn"]').click()
i = 0
while i < 5:
a.press_key(a.enter_key)
a.release_key(a.enter_key)
i = i + 1
WebDriverWait(driver, 300, 0.3).until(
lambda x: driver.find_element_by_xpath('//*[@id="myCourse"]/div/div/ul/li[1]/div/div[2]/div[1]/a'))
g = True
ii = 0
while g:
try:
driver.find_element_by_xpath('//*[@id="myCourse"]/div/div/ul/li[1]/div/div[2]/div[1]/a').click()
g = False
except:
driver.refresh()
time.sleep(10)
ii = ii + 1
if ii > 3:
time.sleep(60)
elif ii > 4:
print('网络异常')
driver.quit()
def mp4(a):
i = 1
while i:
try:
WebDriverWait(driver, 3, 0.3).until(
lambda x: driver.find_element_by_xpath('//*[@id="mediaplayer_display"]'))
i = False
except:
driver.find_element_by_xpath(a).click()
time.sleep(3)
i = i + 1
if i == 3:
print('发生错误')
driver.quit()
i = 1
while i:
try:
time.sleep(3)
driver.find_element_by_xpath('//*[@id="playOver"]/a/div/p[2]').click()
i = False
except:
time.sleep(3)
def pdf(c):
b = PyMouse()
a = PyKeyboard()
WebDriverWait(driver, 300, 0.3).until(
lambda x: driver.find_element_by_xpath('//*[@id="toolbar_reader_wrapper"]/img[11]'))
driver.maximize_window()
WebDriverWait(driver, 300, 0.3).until(
lambda x: driver.find_element_by_xpath('//*[@id="pageContainer_0_reader_wrapper"]'))
i = 1
while i:
try:
driver.find_element_by_xpath('//*[@id="pageContainer_0_reader_wrapper"]').click()
i = False
except:
driver.find_element_by_xpath(c).click()
time.sleep(3)
i = i + 1
if i == 3:
print('发生错误')
driver.quit()
i = 0
while i < 100000:
a.press_key(a.down_key)
i = i + 1
driver.minimize_window()
def hjk():
a = '/html/body/div[4]/div[2]/div[2]/div/div[2]/div/div/div[1]/div/ul/li[1]/a'
b = '/html/body/div[4]/div[2]/div[2]/div/div[2]/div/div/div[1]/div/ul/li[2]/a'
c = '/html/body/div[4]/div[2]/div[2]/div/div[2]/div/div/div[1]/div/ul/li[3]/a'
d = '/html/body/div[4]/div[2]/div[2]/div/div[2]/div/div/div[1]/div/ul/li[4]/a'
while True:
try:
basic()
break
except:
driver.quit()
basic()
while True:
try:
driver.find_element_by_xpath(a).click()
mp4(a)
break
except:
time.sleep(60)
while True:
try:
driver.find_element_by_xpath(b).click()
pdf(b)
break
except:
time.sleep(60)
while True:
try:
driver.find_element_by_xpath(c).click()
homework()
break
except:
time.sleep(60)
driver.quit()
try:
driver.find_element_by_xpath(d).click()
except:
driver.quit()
hjk()