2017-05-25 129 views
0

如果使用chrome浏览器在任何应用程序中记录了任何人,则会弹出通知窗口以保存密码/允许通知。 如何通过selenium web-driver处理此通知弹出窗口?有时候会出现两个弹出窗口(一个是保存密码,另一个是允许通知)。我已经尝试使用Alert类但是无法成功处理。请在此帮助我。如何使用硒webdriver处理铬通知弹出窗口?

回答

0

您可以打开使用ChromeOptions类。以下是示例代码。

ChromeOptions chrome_Profile = new ChromeOptions(); 
chrome_Profile.addArguments("chrome.switches","--disable-extensions"); 
chrome_Profile.addArguments("--disable-save-password"); 
chrome_Profile.addArguments("disable-infobars"); 

System.setProperty("webdriver.chrome.driver","c/chromedriver.exe"); 
//Passing chrome_Profile while initializing the ChromeDriver  
WebDriver driver = new ChromeDriver(chrome_Profile); 

让我知道,如果这有助于。

+0

我是否需要添加任何参数,或者我可以只复制粘贴相同的代码? –

+0

你可以复制粘贴代码应该工作。 – Alok

0

只需添加一个参数,我们就可以禁用所有类型的chrome通知,例如保存密码,允许位置......。

ChromeOptions ops = new ChromeOptions(); 
    ops.addArguments("--disable-notifications"); 
    System.setProperty("webdriver.chrome.driver", ""c/chromedriver.exe""); 
    WebDriver driver = new ChromeDriver(ops); 

希望这可以帮助你。 谢谢。

0

您可以使用下面的代码允许Chrome发送通知:

ChromeOptions options=new ChromeOptions(); 
Map<String, Object> prefs=new HashMap<String,Object>(); 
prefs.put("profile.default_content_setting_values.notifications", 1); 
//1-Allow, 2-Block, 0-default 
options.setExperimentalOption("prefs",prefs); 
ChromeDriver driver=new ChromeDriver(options); 
相关问题