我想编写一个脚本,我在其中使用selenium包:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.youtube.com/watch?v=hdw1uKiTI5c")
现在在获得所需的网址后,我想将Chrome声音静音。 我怎么能这样做? 像这样的东西:
driver.mute()
是否可以使用任何其他Web驱动程序?像Firefox或......?
答案 0 :(得分:27)
不确定您是否可以(通常是任何页面)在打开页面后执行此操作,但您可以通过设置--mute-audio
切换器将整个浏览器会话期间的所有声音静音:
p1 <- ggplot(data, aes(x = time)) + scale_color_manual(values=c("orange","yellow","white","green"))
p1 <- p1 + add_lines1 + add_lines2
p2 <- ggplot(data, aes(x = time)) + scale_color_manual(values=c("orange","yellow","white","green"))
p2 <- p2 + add_lines1 + add_lines3 + add_lines4
或者,你可以mute the HTML5 video player directly:
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--mute-audio")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("https://www.youtube.com/watch?v=hdw1uKiTI5c")
您可能需要在此之前添加一些延迟,以便在静音之前初始化视频。 video = driver.find_element_by_css_selector("video")
driver.execute_script("arguments[0].muted = true;", video)
不是最好的方法 - 更好的方法是订阅loadstart
media event - 可以找到Python实现here。
总结 - 完整实施:
time.sleep()
答案 1 :(得分:3)
对于那些正在寻找firefox解决方案的人来说,这对我很有用。希望对其他人有帮助。
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("media.volume_scale", "0.0")
driver = webdriver.Firefox(firefox_profile=profile)
答案 2 :(得分:1)
使用 javascript
来静音这样的声音
watch_video_js= """
let video = document.querySelector('video')
video.muted = true
video.play()
"""
driver.execute_script(watch_video_js)