Disable Chrome notifications (Selenium)

后端 未结 5 1511
暗喜
暗喜 2020-12-06 17:46

I just want to disable Chrome notifications in the Chrome opened by a Selenium Java application. (using java code)

Notifications like this one:

The

相关标签:
5条回答
  • 2020-12-06 18:25
                ChromeOptions ops = new ChromeOptions();
                ops.addArguments("--disable-notifications");
                System.setProperty("webdriver.chrome.driver", "./lib/chromedriver");
                driver = new ChromeDriver(ops);
    
    0 讨论(0)
  • 2020-12-06 18:28

    you can use:

    chrome_options = Options()
    chrome_options.add_argument("--disable-notifications")
    browser = webdriver.Chrome(chrome_options=chrome_options)
    
    0 讨论(0)
  • 2020-12-06 18:45

    Someone needs this for Capybara or Watir, you can pass the --disable-notifications as an argument like "--start-fullscreen", "--disable-infobars". The following workes:

    Capybara.register_driver :chrome do |app|
      args = ["--disable-notifications"]
      Capybara::Selenium::Driver.new(app, {:browser => :chrome, :args => args})
    end
    
    0 讨论(0)
  • 2020-12-06 18:46
    public class MultipleWindowHandle
    {
        public static void main(String[] args)
        {
            System.setProperty("webdriver.chrome.driver", "E:\\NEWSEL\\chromedriver.exe");
    
            // Create object of HashMap Class as shown below.
            Map<String, Object> prefs = new HashMap<String, Object>();
    
            // Set the notification setting it will override the default setting.
            prefs.put("profile.default_content_setting_values.notifications", 2);
    
            // Create object of ChromeOption class.
            ChromeOptions Roptions = new ChromeOptions();
    
            // Set the experimental option.
            Roptions.setExperimentalOption("prefs", prefs);
    
            // Open chrome browser.
            ChromeDriver driver = new ChromeDriver(Roptions);
            driver.get("https://my.monsterindia.com/login.html");
    
            Set<String> id = driver.getWindowHandles();
            Object[] data = id.toArray();
            driver.switchTo().window((String)data[1]); driver.close();
        }
    }
    
    0 讨论(0)
  • 2020-12-06 18:49

    This question was answered in the: "chromedriver-users" google forum. This is the working answer:

    Map<String, Object> prefs = new HashMap<String, Object>();
    prefs.put("profile.default_content_setting_values.notifications", 2);
    ChromeOptions options = new ChromeOptions();
    options.setExperimentalOption("prefs", prefs);
    WebDriver driver = new ChromeDriver(options);
    
    0 讨论(0)
提交回复
热议问题