本帖最后由 xq2581 于 2023-6-8 09:52 编辑
第一次发帖,通过再群里学习和找资料 找到了通过python selenium 浏览器自动学习 某省干部网络学院 方法 非必修课程 课程先手动添加 程序循环自动播放
还未实现 部分FLASh 页面播放 欢迎大佬帮忙完善,谢谢!
[Python] 纯文本查看 复制代码 from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
#import requests
from time import sleep
# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome(service=Service(r'C:\Program Files\Google\Chrome\Application\chromedriver.exe'))
#wd = webdriver.Chrome()
# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://wwwXXX.gov.cn/index.html')
sleep(5)
elements = wd.find_element(By.XPATH, "/html/body/div[3]/a[1]").click()
sleep(3)
elements = wd.find_element(By.XPATH, "//*[@id='username']")
elements.click()
elements.send_keys('你的账号')
sleep(3)
elements = wd.find_element(By.XPATH, '//*[@id="pwd"]')
elements.click()
elements.send_keys ('你的密码')
elements = wd.find_element(By.XPATH, "/html/body/div[2]/div/div[2]/form/div[3]/input").click()
sleep(5)
wd.get('https://www.XXX.gov.cn/student/course_myselect.do?searchType=2&menu=course')
sleep(5)
#循环N次播放视频
i = 1
while i <= 30:
#点击我要学习
elements = wd.find_element(By.XPATH, "/html/body/div[2]/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[2]/input").click()
#点击播放 /html/body/div/div[3]/div[2]
sleep(3)
for handle in wd.window_handles:
# 先切换到该窗口
wd.switch_to.window(handle)
# 得到该窗口的标题栏字符串,判断是不是我们要操作的那个窗口
if '播放中...' in wd.title:
# 如果是,那么这时候WebDriver对象就是对应的该该窗口,正好,跳出循环,
break
sleep(2)
wd.switch_to.frame("course_frm")
sleep(1)
wd.switch_to.frame("course_frame")
sleep(2)
#点击“开始学习”开始播放
elements = wd.find_element(By.XPATH, "/html/body/div/div[3]/div[2]").click()
sleep(700)
#关闭子窗口
wd.close()
#变更selenium窗口,回到原来的窗口
wd.switch_to.window(wd.window_handles[0])#对应的是第一个窗口
sleep(2)
wd.get('https://www.XXX.gov.cn/student/course_myselect.do?searchType=2&menu=course')
sleep(2)
print(i)
i += 1 |