library(curlR) library(purrr) library(Ipaper) print(Sys.time()) login <- function() { ele_find_first("//button[@class='el-button login-btn el-button--primary']") %>% ele_click() } # 播放与暂停 video_play <- function() { querySelector(".video") %>% ele_click() } speed_2x <- function(val = c("2", "1.5", "1.25", "1", "0.5")) { val <- match.arg(val) css_speed <- glue('li[data-speed="{val}"]') show_list <- function() { querySelector(".xt_video_player_common_value") %>% ele_click() } show_list() querySelector(css_speed) %>% move_to_element(5, 5) %>% ele_click() show_list() # close } video_status2 <- function() { # video <- querySelector(".xt_video_player") video <- querySelector(".xt_video_player") video_status(video) } play_next <- function() { querySelector(".btn-next > span") %>% # move_to_element() %>% ele_click() }
port <- 4445 kill_selenium(port) p <- init_selenium(port, browserName = "chrome") # p$closeall() # kill_selenium(port) p$navigate("https://cugyjscfd.yuketang.cn") f_cookie = "./cookie_yuketang.txt" # login() # cookie_save(f_cookie) cookie_load(f_cookie)
# cookie works now urls <- c( # "https://cugyjscfd.yuketang.cn/pro/lms/1380SJEKfaeP/9578373/studycontent", # 大学的初心 "https://cugyjscfd.yuketang.cn/pro/lms/1134HJLr6gju/9578424/score" # 谈话的艺术 ) url <- urls[1] # do_listen <- function(url) p$navigate(url)
xs <- querySelectorAll(".cursorpoint.unit-name-hover") xs_prop <- querySelectorAll(".complete-td > span:nth-of-type(1)") %>% ele_text() portion <- gsub("%", "", xs_prop) %>% as.numeric() inds <- map_lgl(xs_prop, ~ .x != "已完成") %>% which()
foreach(i = inds, icount(1)) %do% { runningId(i) x <- xs[[i]] ele_click(x) focus_last_window() speed_2x("1.5") video_play() info = video_status() while (info$perc < 95) { info = video_status() Sys.sleep(1) # second } # else to the next lesson # play_next() p$closeWindow() Sys.sleep(10) }
i <- inds[1] ele_click(xs[[i]]) focus_last_window() speed_2x("1.5") video_play() info <- video_status() while (info$perc < 95) { info <- video_status() Sys.sleep(1) # second } # else to the next lesson # play_next() p$closeWindow() Sys.sleep(10)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.