使用python Selenium实现智慧树界面化自动刷网课 chromehandless实现智慧树无界面化自动刷网课

本文介绍如何使用Python的Selenium库自动化刷智慧树网课,包括自动播放、切换流畅画质、1.5倍速播放、静音等。通过真实浏览器驱动,降低封号风险。文中详细讲解了代码实现过程,并给出了运行结果。
摘要由CSDN通过智能技术生成

      最近看到隔壁室友在学习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
  • 41
    点赞
  • 339
    收藏
    觉得还不错? 一键收藏
  • 24
    评论
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值