精华平台破解思路
思路图

完整代码
import time
import easygui # GUI 编程模块
from selenium import webdriver # selenium 浏览器自动化
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWaitdef get_url():return easygui.enterbox("请输入链接", default="")def judge_Url(driver):url = driver.current_urlif 'coursewareinfo' in url: # 如果界面是课件列表print("等待加载3秒")time.sleep(3)main(driver) # 进入主函数elif 'courseListForCourseware' in url: # 如果界面是课堂列表print("等待加载4秒")time.sleep(4) # 暂停4秒courseList = driver.find_elements(By.CLASS_NAME, '_3dYlgmbXq9p-8xwwf_goNT')a = 1for courseName in courseList:print(a, courseName.text) # 输出课堂名称a += 1course_Number = easygui.enterbox("请输入需要进入的课堂名称(数字)", default="")if int(course_Number) in list(range(1, 50)): # 判断输入的数字是否正常courseList_Number = [int(course_Number)]courseid_url = driver.find_element(By.XPATH, f'//*[@id="root"]/div/div/div[1]/a{courseList_Number}').get_attribute('href')course_name = driver.find_element(By.XPATH, f'//*[@id="root"]/div/div/div[1]/a{courseList_Number}//div/div[2]/div[2]').textprint(f"正在进入{course_name}课件")driver.get(courseid_url)judge_Url(driver)else:print("输入的数字不对,请重新输入")judge_Url(driver)elif 'wechat2-ssr/?openid=' in url: # 界面是功能列表time.sleep(3)driver.find_element(By.CSS_SELECTOR, "#root > div > div > div > div.rJW5lmLc2mXYzA_raXkCX > div:nth-child(2) > div:nth-child(2) > a").click() # 选择点击课件标签print("点击课件标签...")judge_Url(driver)else:print("网址不对")print("网址中不包括courseid、courseListForCourseware、wechat2-ssr/?openid=")def courseware_mp4(driver):time.sleep(5)driver.find_element(By.CSS_SELECTOR, '.outter') # 选择点击MP4播放按钮while True:time_1 = driver.find_element(By.CSS_SELECTOR, ".current-time") # MP4开始时间time_2 = driver.find_element(By.CSS_SELECTOR, ".duration") # MP4结束时间print(time_1)if time_1 == time_2 and time_1 != '00:00':print(time_1, time_2)breakdriver.switch_to.parent_frame() # 切换页面driver.switch_to.default_content() # 跳转页面def courseware_ptx(driver):time.sleep(3)iframe = driver.find_element(By.CLASS_NAME, "._1a4S0yFBO4gZoRFvUkRkW6") # ptx 窗口driver.switch_to.frame(iframe)time.sleep(5)while True:start_page = driver.find_element(By.XPATH, '//*[@id="PageIndex"]') .text # 起始页ending_page = driver.find_element(By.XPATH, '//*[@id="PageCount"]').text # 结束页driver.find_element(By.CLASS_NAME, '.btm .btmRight') # 下一页time.sleep(0.5)if start_page == ending_page:for i in range(10):driver.find_element(By.CLASS_NAME, '.btm .btmRight').click()time.sleep(20)driver.switch_to.parent_frame() # 切换页面driver.switch_to.default_content() # 跳转页面breakdef courseware_doc(driver):time.sleep(10)driver.switch_to.parent_frame() # 跳转页面driver.switch_to.default_content() # 跳转页面def main(driver):time.sleep(2)print("等待加载2秒")try:courseware_type = driver.find_element(By.CLASS_NAME, '.dPphweSVDC1Hf6EnOO71w').text[-3:]print(12345)if courseware_type == 'mp4':courseware_mp4(driver)elif courseware_type == 'ppt' or courseware_type == 'ptx':courseware_ptx(driver)elif courseware_type == 'doc' or courseware_type == 'ocx':courseware_doc(driver)except:print("出BUG了")if __name__ == "__main__":options = webdriver.ChromeOptions()options.add_experimental_option('excludeSwitches', ['enable-automation']) # 添加实验性质的设置参数driver = webdriver.Chrome(options=options, executable_path='./chromedriver.exe')wait = WebDriverWait(driver=driver, timeout=10) # 设置最大等待时间url = get_url()driver.get(url)judge_Url(driver) # 判断是哪个界面main(driver)time.sleep(999)
部分代码
import time
import easygui # GUI 编程模块
from selenium import webdriver # selenium 浏览器自动化
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWaitdef courseware_mp4(driver):print("查看MP4课件中")time.sleep(5)driver.find_element(By.CSS_SELECTOR, '.outter') # 选择点击MP4播放按钮while True:time_1 = driver.find_element(By.CSS_SELECTOR, ".current-time") # MP4开始时间time_2 = driver.find_element(By.CSS_SELECTOR, ".duration") # MP4结束时间print(time_1)if time_1 == time_2 and time_1 != '00:00':print(time_1, time_2)breakdriver.switch_to.parent_frame() # 切换页面driver.switch_to.default_content() # 跳转页面def courseware_ptx(driver):print("查看ptx课件中")time.sleep(3)iframe = driver.find_element(By.CSS_SELECTOR, "._1a4S0yFBO4gZoRFvUkRkW6") # ptx 窗口driver.switch_to.frame(iframe)time.sleep(5)while True:start_page = driver.find_element(By.XPATH, '//*[@id="PageIndex"]') .text # 起始页ending_page = driver.find_element(By.XPATH, '//*[@id="PageCount"]').text # 结束页driver.find_element(By.CLASS_NAME, '.btm .btmRight') # 下一页time.sleep(0.5)if start_page == ending_page:for i in range(10):driver.find_element(By.CSS_SELECTOR, '.btm .btmRight').click()time.sleep(20)driver.switch_to.parent_frame() # 切换页面driver.switch_to.default_content() # 跳转页面breakdef courseware_doc(driver):print("查看doc文件中")time.sleep(10)driver.switch_to.parent_frame() # 跳转页面driver.switch_to.default_content() # 跳转页面def main(driver):time.sleep(2)print("等待加载2秒")try:while True:courseware_type = driver.find_element(By.CLASS_NAME, 'dPphweSVDC1Hf6EnOO71w').text[-3:]driver.find_element(By.CSS_SELECTOR, '._1UfYCzyzkv94Zbsyr_Hoc0').click()time.sleep(0.5)driver.find_element(By.CSS_SELECTOR, '.weui-actionsheet__cell').click()if courseware_type == 'mp4':courseware_mp4(driver)elif courseware_type == 'ppt' or courseware_type == 'ptx':courseware_ptx(driver)elif courseware_type == 'doc' or courseware_type == 'ocx':courseware_doc(driver)except:print("出BUG了")if __name__ == "__main__":options = webdriver.ChromeOptions()options.add_experimental_option('excludeSwitches', ['enable-automation']) # 添加实验性质的设置参数driver = webdriver.Chrome(options=options, executable_path='./chromedriver.exe')wait = WebDriverWait(driver=driver, timeout=10) # 设置最大等待时间url = 'http://www.hntyxxh.com/wechat2-ssr/student/coursewareinfo?courseid=14161&openid=9801af440c6edc778c0212a627592cca'driver.get(url)main(driver)time.sleep(999)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
