Python Selenium實現自動觀看學習通視訊
import time
from selenium.webdriver import Chrome
web = Chrome()
web.get(')
# 1. 登入
phone = web.find_element_by_class_name('ipt-tel')
pwd = web.find_element_by_class_name('ipt-pwd')
login = web.find_element_by_class_name('btn-big-blue')
phone.send_keys(' 手機號碼 ')
pwd.send_keys(' 密碼 ')
login.click()
time.sleep(2)
# 完成一個頁面的所有未完成的知識點
def view_one_page_points():
while (1):
iframe = web.find_element_by_id('iframe') # 每次重新整理後,都要進入內部 iframe
web.switch_to.frame(iframe)
# 篩選,去除已完成的知識點
k_points = web.find_elements_by_css_selector('div.ans-attach-ct:not(.ans-job-finished)')
num = len(k_points)
flag = False
for i in range(0, num):
if i == (num - 1): # 是最後一個,表示該頁刷完
flag = True
k_point = k_points[i]
# 查詢任務圖示個數, 1 為知識點, 0 為不是知識點
icon_num = len(k_point.find_elements_by_xpath('./div[contains(@class,"ans-job-icon")]'))
if icon_num == 0: # 再次篩選,去除不是知識點的 div
continue
# 進行視訊的播放
video_iframe = k_point.find_element_by_xpath('./iframe') # 視訊 iframe
print(video_iframe)
time.sleep(2)
web.switch_to.frame(video_iframe) # 進入視訊 iframe
time.sleep(2)
web.find_element_by_class_name('vjs-big-play-button').click() # 點選播放按鈕
time.sleep(1)
web.find_element_by_xpath('//*[@id="video"]/div[5]/div[6]/button').click() # 靜音
# 播放和暫停按鈕
pause_btn = web.find_element_by_xpath('//button[contains(@class,"vjs-play-control")and '
'contains(@class,"vjs-control")and contains(@class,"vjs-button")]')
while (1): # 播放等待
time.sleep(1) # 每 1 秒,檢查視訊是否播放完畢
if (pause_btn.get_attribute('title') ==外匯跟單gendan5.com " 重播 "): # 點選後播放,即播放完畢狀態
break
print(' 視訊播放完畢 ')
# 視訊播放完畢,退出播放 iframe ,然後退出迴圈,再次查詢該頁面的所有知識點( k_points)
web.switch_to.default_content()
print(' 退出知識點 iframe')
time.sleep(2)
web.refresh() # 重新整理頁面,之後需重新進入 iframe
time.sleep(2)
print(' 重新整理頁面 ')
break
if flag: # 該頁面知識點播放完畢
break
pass
while (1):
# 進入 iframe
frame_content = web.find_element_by_xpath('//*[@id="frame_content-zj"]')
web.switch_to.frame(frame_content)
time.sleep(2)
# 查詢所有未完成的知識點頁面
all_no_list = web.find_elements_by_xpath('//span[@class="catalog_points_yi"]')
list_num = len(all_no_list) # 知識點頁面個數
if list_num == 0: # 沒有知識點頁面,即全部刷完
break
# 跳轉到第一個知識點頁面
all_no_list[0].click()
web.switch_to.window(web.window_handles[-1]) # 跳轉到該知識點介面
time.sleep(5)
#####
view_one_page_points() # 播放該知識點頁面的所有未完成的知識點視訊
#####
print(' 完成一個知識點頁面 ...')
web.close() # 關閉當前視窗
# 該頁面知識點完畢,關閉當前視窗,選擇下一個知識點視窗
web.switch_to.window(web.window_handles[0]) # 變更視角到該課程主介面
time.sleep(1)
# 重新整理頁面
web.refresh()
time.sleep(2)
print(' 重新整理主頁面 ')
pass
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2845222/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 不開通iptv實現觀看網路電視
- python+selenium實現自動搶票Python
- 用python實現selenium 自動化測試Python
- Selenium自動化實現web自動化-1Web
- android短視訊開發,全屏觀看視訊時自動隱藏平臺底部的功能欄Android
- python+ selenium 實現簡歷自動重新整理Python
- 深度學習 + OpenCV,Python實現實時視訊目標檢測深度學習OpenCVPython
- 一對一直播系統原始碼,點選觀看視訊時,自動自適應全屏原始碼
- Auto.JS實現抖音,刷寶等刷視訊app,自動點贊,自動滑屏,自動切換視訊JSAPP
- YouGov:只有17%的美國球迷通過視訊流觀看賽事直播Go
- WebRTC + WebSocket 實現視訊通話Web
- 應用於實時視訊通訊的深度學習演算法深度學習演算法
- (上)python3 selenium3 從框架實現學習selenium讓你事半功倍Python框架
- 短視訊帶貨原始碼,觀看視訊時雙擊放大原始碼
- 【從VB.NET視訊看學習態度】
- 短視訊平臺搭建,實現banner自動滑動展示效果
- 兩個視窗如何實現通訊
- 基於DotNetty實現一個介面自動釋出工具 - 通訊實現Netty
- 【Python學習教程】Python程式設計可以實現哪些辦公自動化?Python程式設計
- Python+selenium實現Drcom校園網自動檢測網路以及自動登入Python
- Web自動化-Selenium自動化測試-1-主要學習計劃Web
- 8┃音視訊直播系統之 WebRTC 信令系統實現以及通訊核心並實現視訊通話Web
- python自動化——selenium——教程截圖筆記複習Python筆記
- iOS基於Socket.io即時通訊IM實現,WebRTC實現視訊通話iOSWeb
- Selenium實現簡訊轟炸
- 深度學習、機器學習、python、C++視訊深度學習機器學習PythonC++
- python學習筆記--web即時通訊Python筆記Web
- Kendo UI ASP.NET MVC使用教學視訊集錦(高清線上觀看)UIASP.NETMVC
- Python實現讓視訊自動打碼,再也不怕出現少兒不宜的畫面了Python
- 【python+selenium的web自動化】- 針對上傳操作的實現方案PythonWeb
- 自動化測試進階課程——Selenium自動化測試通關實戰班
- 教你如何用python實現學生通訊錄管理系統Python
- 達觀資料:Selenium使用技巧與機器人流程自動化實戰機器人
- 學會Python+Selenium,分分鐘搭建Web自動化框架!PythonWeb框架
- Python利用Selenium自動登入掘金Python
- selenium+python自動化測試Python
- LGR:美國電視家庭39%的成年人每天通過聯網裝置在電視上觀看視訊
- 音視訊學習 (十一) Android 端實現 rtmp 推流Android