赞
踩
from selenium importwebdriverfrom selenium.webdriver.support.wait importWebDriverWaitfrom selenium.webdriver.common.by importByfrom selenium.webdriver.support importexpected_conditions as ECfrom selenium.common.exceptions importTimeoutException, NoSuchFrameExceptionimporttimefrom selenium.webdriver.common.action_chains importActionChainsfrom bs4 importBeautifulSoupif __name__ == '__main__':print('stART')
url= 'http://study.zhihuishu.com/learning/videoList;jsessionid=075B1012EC3EFA6EB79A19B1FF96EA44;jsessionid=709212495C7D26BCC1F884A2D4EEC2D9?recruitAndCourseId=4b585c5f4252415846425e5150'browser=webdriver.Chrome()
wait= WebDriverWait(browser, 10)
browser.get(url)
wait.until(EC.element_to_be_clickable((By.LINK_TEXT,'学号'))).click()
wait.until(EC.presence_of_element_located((By.ID,'quickSearch'))).send_keys('学校名字')
wait.until(EC.presence_of_element_located((By.ID,'clCode'))).send_keys('学号')
wait.until(EC.presence_of_element_located((By.ID,'clPassword'))).send_keys('密码')
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'#schoolListCode > li:nth-child(2)'))).click()
wait.until(EC.element_to_be_clickable((By.CLASS_NAME,'wall-sub-btn'))).click()
wait.until(EC.presence_of_element_located((By.LINK_TEXT,'确定'))).click()#这块手动点下我已统一
flag =0
i= 1k= 1time.sleep(5)whileTrue:if k == 1:print("播放地", i, '个视频')
a= wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'videoArea')))
ActionChains(browser).move_to_element(a).perform()
speed= wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#vjs_mediaplayer > div.controlsBar > div.speedBox')))
speed.click()
speed_15= wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'speedTab15')))
speed_15.click()
k=0whileTrue:try:
a= wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'videoArea')))
ActionChains(browser).move_to_element(a).perform()
isFinsh= (browser.find_element_by_class_name('passTime').get_attribute('style') == 'width: 100%;')ifisFinsh:breakbrowser.switch_to.frame('tmDialog_iframe')print("弹窗出现")
flag= 1
break
exceptNoSuchFrameException:pass
if flag == 1: #关闭弹窗
print("关闭弹窗")
soup=BeautifulSoup(browser.page_source)
name= soup.find(class_='answerOption').input.attrs['name']
a=wait.until(EC.presence_of_element_located((By.NAME, name)))
a.click()#browser.find_element_by_name('question561294').click()
browser.switch_to.default_content()
browser.find_element_by_link_text('关闭').click()print("关闭成功")
flag=0else: #播放下一个视频
print("播放完了第", i, '个视频')
i+= 1browser.find_element_by_link_text('下一节').click()
isFinsh=False
k= 1time.sleep(2)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。