最近看到隔壁室友在学习python,再加上那句“爬虫学得好,监狱进的早”,于是有了一个大胆的想法,刷网课。我是通过使用selenium驱动真实的浏览器来实现
1.自动点击播放
2.自动切换到流畅画质(省流量)
3.自动1.5倍速
4.自动静音
4.自动检查当前播放时间,结束后调到下一集
由于是驱动真实的浏览器来实现一系列操作,所以理论上不会有封号危险 (祝你好运)
# _*_ codeing utf-8 _*_
# @TIME : 2021/11/6 22:30
# @Author : wust Qiuyu
# @File : test_selenium
# @Project : 代码
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from selenium.webdriver import ActionChains
from selenium.webdriver.chrome.options import Options
# 无界面
def share_browser(): # 初始化
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
# 浏览器的安装路径 打开文件位置 #这个路径是你谷歌浏览器的路径
# chrome浏览器的安装位置 Chromedriver需在当前py文件的相同路径下
path = r'C:\Users\19436\AppData\Local\Google\Chrome\Application\chrome.exe'
chrome_options.binary_location = path
browser = webdriver.Chrome(chrome_options=chrome_options)
return browser
# 取消下方注释即可使用有界面
# # # # # # # # # # # # # # # # # # # # # #
# 加载驱动 有界面 #
path = './chromedriver.exe' #
browser = webdriver.Chrome(path) #
# # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # #
# # 加载驱动 无界面 #
# browser = share_browser() #
# # # # # # # # # # # # # # # # # # # # # #
# 答题
def response():
try:
#检查是否有弹窗检验
browser.find_element(By.XPATH,'//div[@id="app"]/div[1]/div[7]/div[@class="el-dialog"]')
option = browser.find_elements(By.XPATH, '//ul[@class="topic-list"]/li')
for i in range(len(option)):
option[i].click()
# 获取正确答案
answer = browser.find_element(By.XPATH,"//p[@class='answer']/span").text.split(',')
print('正确答案是:' + str(answer))
# 点击正确答案
for i in range(len(option)):
print('选项'+str(i)+':'+option[i].text)
flag=False
for j in range(len(answer)):
if option[i].text.find(answer[j])!=-1:
flag=True
break
if(flag==False):
option[i].click()
# 点击关闭
close = browser.find_element(By.XPATH,'//div[@class="btn"]')
close.click()
print("答题成功!\t\t\t√")
play()
return True
except:
print("未找到弹窗测验\t\t✘")
return F