📘

[Python][Selenium] 動画の再生時間(CurrentTime)を取得する

2022/05/19に公開

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