Saltar al contenido

Cómo silenciar todos los sonidos en chrome webdriver con selenium

Solución:

No estoy seguro si puede, generalmente para cualquier página, hacerlo después de haber abierto la página, pero puede silenciar todo el sonido durante toda la duración de la sesión del navegador configurando el --mute-audio conmutador:

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")

O puede silenciar el reproductor de video HTML5 directamente:

video = driver.find_element_by_css_selector("video")
driver.execute_script("arguments[0].muted = true;", video)

Es posible que deba agregar un retraso antes de eso para permitir que el video se inicialice antes de silenciarlo. time.sleep() no sería la mejor manera de hacerlo; una mejor manera es suscribirse al loadstart evento de medios: la implementación de Python se puede encontrar aquí.

Para resumir – implementación completa:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver

driver = webdriver.Chrome()
driver.set_script_timeout(10)

driver.get("https://www.youtube.com/watch?v=hdw1uKiTI5c")

# wait for video tag to show up
wait = WebDriverWait(driver, 5)
video = wait.until(EC.visibility_of_element_located((By.TAG_NAME, 'video')))

# wait for video to be initialized
driver.execute_async_script("""
    var video = arguments[0],
        callback = arguments[arguments.length - 1];

    video.addEventListener('loadstart', listener);

    function listener() {
        callback();
    };
""", video)

# mute the video
driver.execute_script("arguments[0].muted = true;", video)

Para aquellos que buscan una solución de Firefox, esto funcionó para mí. Espero que ayude a otros.

from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("media.volume_scale", "0.0")
driver = webdriver.Firefox(firefox_profile=profile)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *