java selenium selenium-webdriver selenium-chromedriver geckodriver

java - ¿Cómo deshabilitar las notificaciones push usando Selenium para Firefox y Chrome?



selenium-webdriver selenium-chromedriver (1)

Quiero desactivar la notificación cuando inicio el navegador Firefox a través de Selenium Webdriver.
Encontré esta respuesta , pero está en desuso y no funciona para mí en Firefox (aunque funciona perfectamente en Chrome).

Estoy usando esta dependencia para mi pom.xml :

<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.11.0</version> </dependency>


Si su caso de uso es deshabilitar la notificación, las siguientes son las opciones:

  • Para deshabilitar la notificación push en el cliente del navegador Firefox , tome la ayuda de un perfil de Firefox y pase las claves dom.webnotifications.enabled y dom.push.enabled junto con el valor deseado como falso :

    System.setProperty("webdriver.gecko.driver", "C://path//to//geckodriver.exe"); ProfilesIni profile = new ProfilesIni(); FirefoxProfile testprofile = profile.getProfile("debanjan"); testprofile.setPreference("dom.webnotifications.enabled", false); testprofile.setPreference("dom.push.enabled", false); DesiredCapabilities dc = DesiredCapabilities.firefox(); dc.setCapability(FirefoxDriver.PROFILE, testprofile); FirefoxOptions opt = new FirefoxOptions(); opt.merge(dc); WebDriver driver = new FirefoxDriver(opt); driver.get("https://www.ndtv.com/");

Nota : Este método utiliza un FirefoxProfile de FirefoxProfile existente con el nombre debanjan almacenado en mi sistema local que se creó siguiendo la documentación en Creación de un nuevo perfil de Firefox en Windows

  • Para deshabilitar la notificación en el cliente del navegador Chrome , tome la ayuda de un setExperimentalOption () para pasar un HashMap que contenga profile.default_content_setting_values.notifications con Value como 2 :

    System.setProperty("webdriver.chrome.driver", "C://path//to//chromedriver.exe"); Map<String, Object> prefs = new HashMap<String, Object>(); prefs.put("profile.default_content_setting_values.notifications", 2); prefs.put("credentials_enable_service", false); prefs.put("profile.password_manager_enabled", false); ChromeOptions options = new ChromeOptions(); options.setExperimentalOption("prefs", prefs); options.addArguments("start-maximized"); options.addArguments("disable-infobars"); options.addArguments("--disable-extensions"); options.addArguments("--disable-notifications"); WebDriver driver = new ChromeDriver(options); driver.get("https://www.ndtv.com/");