selenium-webdriver - 如何使用 Selenium Webdriver 在 chrome 76 中单击允许显示通知
问题描述
我已经尝试过以下解决方案,但没有运气!!!
ChromeOptions chromeOptions = new ChromeOptions();
Map<String, Object> prefs = new HashMap<>();
//1-Allow, 2-Block, 0-default
prefs.put("profile.default_content_setting_values.notifications", 1);
chromeOptions.setExperimentalOption("prefs", prefs);
输出:浏览器中的通知将设置为“发送前询问”,但网站未在设置中的“允许”下列出,以接收推送通知
解决方案
请尝试以下代码,它将在 Chrome 浏览器上将浏览器通知设置为允许(默认情况下)。
步骤1:
它将创建一个地图来存储您的偏好
Map<String, Object> prefs = new HashMap<String, Object>();
第2步:
//Now add key and value to map, 1 means to allow and 2 means to block
prefs.put("profile.default_content_setting_values.notifications", 1);
第 3 步:
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setExperimentalOption("prefs", prefs);
第4步:
//Now Pass it on to the ChromeOptions instance to ChromeDriver Constructor
WebDriver driver = new ChromeDriver(chromeOptions);
注意: 请检查您是否遵循第 4 步。ChromeOptions 实例需要传递给 ChromeDriver 构造函数以初始化 chrome 驱动程序,该驱动程序将打开 chrome 浏览器上的通知。
推荐阅读
- reactjs - React Admin,为 List 定义自定义 saga
- android - 在手机关闭时根据特定短信运行警报
- html - 垂直居中对齐的图像更靠近底部而不是顶部
- spring - Spring Boot 无法使用抽象和接口自动装配组件
- ios - 获取拖动预览的帧
- sparql - SPARQL:DISTINCT 关键字不适用于 VALUES
- c# - Mvvmcross Android - recyclerview 自定义适配器在滚动时抛出错误
- angular - 使用选择快照的 NGXS 版本
- angular - 恢复网络连接后加载 HttpLoaderFactory 转换器不起作用
- hyperledger-fabric - 我正在使用超级账本结构 v1,但网络无法启动。出现以下错误