Python自动化刷网课

友情提醒:
慕课千万条,自觉第一条
学习不规范,考试两行泪

前些日子了解了一下selenium分享一下自动化控制的感觉

方法很基础,主要就是selenium的用法

selenium可以控制电脑浏览器,进行模拟人鼠标的操作,所以和人工点击刷课没有什么区别,所以后台检测不到。
在你已经学会了慕课知识的情况下,可以节约一些盯着屏幕或者换下一个视频,或者点击20min休息一下的按钮提示的时间。

所需的模块

from selenium import webdriver #从selenium库中调用webdriver模块
import time

这两个库就够了,time模块是防止页面刷新不及时造成软件报错。

另外,暂时没法解决验证码的问题,所以需要手动输入验证码

这里以超星学习通为例来讲

driver = webdriver.Chrome() # 设置引擎为Chrome,真实地打开一个Chrome浏览器(把Chrome浏览器设置为引擎,然后赋值给变量driver。driver是实例化的浏览器)
driver.get('https://mooc1-2.chaoxing.com') # 打开网页
time.sleep(2)

account = driver.find_element_by_id('unameId')
account.send_keys('XXXXXXX')
#输入用户名,将上方的XXXXXX替换为即可

password = driver.find_element_by_class_name('zl_input2')
password.send_keys('XXXXXXXX')
#输入密码,将上方的XXXXXX替换为即可

x = input('Numcode: ')
numcode = driver.find_element_by_name('numcode')
numcode.send_keys(str(x))

这里在运行时需要手动输入验证码。
接下来就是按钮的操作,通过click()来模拟真实鼠标点击操作。
要记得查询网页的源文件,来查询每一次操作的位置(可以通过name、tag等方式)这里需要网页基础

button_log_in = driver.find_element_by_class_name('zl_btn_right')
button_log_in.click()

time_left = 12
while time_left > 0:
    print('倒计时(s):',time_left)
    time.sleep(1)
    time_left = time_left - 1

time.sleep(10)

iframe = driver.find_element_by_class_name('ans-attach-online')
driver.switch_to.frame(iframe)
button_player = driver.find_element_by_class_name('vjs-poster')
button_player.click()
driver.switch_to.default_content()
time.sleep(20)

button_next_step = driver.find_element_by_class_name('orientationright ')
time.sleep(1)
button_next_step.click()


driver.close() # 关闭浏览器

可以调整每次点击的时常,来自动翻看下一个视频。
最后关闭浏览器,扬长而去~

之后会出一期关于查看网页源代码的文章,讲的都比较浅显,但也希望会对小白们有些帮助。

你可能感兴趣的:(生活技巧,selenium,python)