📘
[Python][Selenium] 動画の再生時間(CurrentTime)を取得する
seleniumで直接取る方法がわからなかったので、jsを介して。
seleniumのexecute_scriptを使ってjsで↓のようにした。
まずcreateElementで適当にdiv要素を作って、そこにjsでcurrentTimeを都度書き込む
main.py
js = 'var elem = document.createElement("div"); elem.id = "currentTime"; document.body.appendChild(elem);'
driver.execute_script(js)
js = 'setInterval(\'document.getElementById("currentTime").innerText = document.getElementById("video").currentTime\', 100);'
driver.execute_script(js)
そして書き込まれたものをfind_elementで取得した。
main.py
currentTime = driver.find_element(By.ID, 'currentTime').text
print(currentTime) # 動画の再生時間
同じ要領で動画長(duration)もとれる。
読んでくれてありがとう😭
分かりにくい所があれば遠慮なくご指摘ください
Discussion