#引用库
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
#全局变量区域
url = "https://www.icourse163.org/"
driver = webdriver.Chrome()
account = '********@163.com'
password = '********'
lists=['1','2','3','4','5','6','7','8','9','10',]
cha='/html/body/div[4]/div[2]/div[4]/div[2]/div/div[1]/div/div/div[1]/div[1]/div/div[1]/div/div[2]/div'
chapters=['1','2','3','4','5','6','7','8','9','10','11','12','13','14']
les='/html/body/div[4]/div[2]/div[4]/div[2]/div/div[1]/div/div/div[1]/div[1]/div/div[2]/div/div[2]/div'
lessons=['1','2','3','4','5','6',]
#打开网页
driver.get(url)
driver.maximize_window()
#登陆部分
try:
driver.find_element(By.XPATH, '/html/body/div[4]/div[2]/div[1]/div/div/div[1]/div[3]/div[3]/div').click()
driver.find_element(By.XPATH, '/html/body/div[13]/div[2]/div/div/div/div/div[2]/span').click()
print('点击登陆按钮成功\n')
except:
print('点击登陆按钮时出错')
#输入账号密码部分
try:
driver._switch_to.frame(0) #这里转到fame0 因为mooc网站点击登陆后是弹窗的
driver.find_element(By.XPATH, '/html/body/div[2]/div[2]/div[2]/form/div/div[1]/div[2]/input').send_keys(account)
driver.find_element(By.XPATH, '/html/body/div[2]/div[2]/div[2]/form/div/div[3]/div[2]/input[2]').send_keys(password)
print('外汇跟单gendan5.com输入账号密码成功\n')
driver.find_element(By.XPATH, '/html/body/div[2]/div[2]/div[2]/form/div/div[8]/a').click()
except:
print('登陆失败')
time.sleep(2)
#点击 我的课程 按钮
try:
driver.switch_to.default_content() driver.find_element(By.XPATH,'/html/body/div[4]/div[2]/div[1]/div/div/div[1]/div[3]/div[1]/img').click()
print("点击头像成功\n")
except:
print("点击头像出错")
time.sleep(2)
#点击 高等数学(一) 课程
try: driver.find_element(By.XPATH,'/html/body/div[4]/div[2]/div[3]/div/div[1]/div[3]/div/div[2]/div/div/div[2]/div[1]/div[2]/div/div[1]/div[1]/div[1]/a/div[1]/img').click()
print("点击 '高等数学(一)'成功\n")
except:
print("点击课程失败")
time.sleep(2)
#点击继续学习
try:
driver.switch_to.window(driver.window_handles[-1]) driver.find_element(By.XPATH,'/html/body/div[4]/div[2]/div[4]/div[2]/div/div[1]/div/div[1]/div/div[1]/div/a[1]').click()
print('点击继续学习成功\n')
except:
print("点击继续学习失败")
#疯狂点击
#点击chapter后点击lesson 然后点击视频和文档
for c in chapters:
time.sleep(1)
js="document.getElementsByClassName('down f-bg j-list')[0].style.display='block'"
driver.execute_script(js)
driver.find_element(By.XPATH,cha+'['+c+']').click()
time.sleep(1)
for l in lessons:
try:
time.sleep(1)
js2="document.getElementsByClassName('down f-bg j-list')[1].style.display='block'"
driver.execute_script(js2)
driver.find_element(By.XPATH,les+'['+l+']').click()
time.sleep(1)
except:
break
for i in lists:
try:
time.sleep(1)
driver.find_element(By.XPATH,'/html/body/div[4]/div[2]/div[4]/div[2]/div/div[1]/div/div/div[3]/ul/li['+ i +']' ).click()
time.sleep(1)
except:
break