I'm trying to login to Facebook. After a successful login, I get a browser popup:
How with the webdriver can I click Allow and proceed forward?
Yes, it is possible to handle Windows based pop-ups in Selenium webdriver. Sometimes on clicking a link or a button, another window gets opened. It can be a pop up with information or an advertisement. The methods getWindowHandles and getWindowHandle are used to handle child windows.
Please Follow below steps :
A) USING JAVA :
For Old Chrome Version (<50):
//Create a instance of ChromeOptions class ChromeOptions options = new ChromeOptions(); //Add chrome switch to disable notification - "**--disable-notifications**" options.addArguments("--disable-notifications"); //Set path for driver exe System.setProperty("webdriver.chrome.driver","path/to/driver/exe"); //Pass ChromeOptions instance to ChromeDriver Constructor WebDriver driver =new ChromeDriver(options);
For New Chrome Version (>50):
//Create a map to store preferences Map<String, Object> prefs = new HashMap<String, Object>(); //add key and value to map as follow to switch off browser notification //Pass the argument 1 to allow and 2 to block prefs.put("profile.default_content_setting_values.notifications", 2); //Create an instance of ChromeOptions ChromeOptions options = new ChromeOptions(); // set ExperimentalOption - prefs options.setExperimentalOption("prefs", prefs); //Now Pass ChromeOptions instance to ChromeDriver Constructor to initialize chrome driver which will switch off this browser notification on the chrome browser WebDriver driver = new ChromeDriver(options);
For Firefox :
WebDriver driver ; FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("permissions.default.desktop-notification", 1); DesiredCapabilities capabilities=DesiredCapabilities.firefox(); capabilities.setCapability(FirefoxDriver.PROFILE, profile); driver = new FirefoxDriver(capabilities); driver.get("http://google.com");
B) USING PYTHON :
from selenium import webdriver from selenium.webdriver.chrome.options import Options option = Options() option.add_argument("--disable-infobars") option.add_argument("start-maximized") option.add_argument("--disable-extensions") # Pass the argument 1 to allow and 2 to block option.add_experimental_option("prefs", { "profile.default_content_setting_values.notifications": 1 }) driver = webdriver.Chrome(chrome_options=option, executable_path='path-of- driver\chromedriver.exe') driver.get('https://www.facebook.com')
C) USING C#:
ChromeOptions options = new ChromeOptions(); options.AddArguments("--disable-notifications"); // to disable notification IWebDriver driver = new ChromeDriver(options);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With