Chrome打开网页时除了Alert/Confirm等弹窗之外还有可能是什么?

最近一个小伙伴问我,使用Selenium在做自动化测试的时候出现弹窗,但是使用Selenium+Java处理常见的Alert/Confirm弹出框无法找到;于是我就给他介绍了webDriver处理弹窗的所有方法;最后还是不行,于是我就开始怀疑了,决定亲自试一试这到底是个什么妖魔鬼怪。
其中在试的时候我尝试了Selenium切换到所有的Alert,Iframe,window,有点诡异屡试不爽,都找不到,然后仔细一看弹窗,其实并不属于网页Dom里面的元素,突然发现与一般的弹窗不一样;
在弹窗右边的出现一个小图标,属于Chrome浏览器自带的
如下图:
å¦ä½å³é­chromeæµè§å¨å¼¹çªéç¥

 

找错方向了,不是Dom里面的代码弹窗,而是浏览器permissions(权限许可)询问弹窗

在浏览器中输入这个地址chrome://settings/content即可看到所有的类型:

这下就简单了,这个通知应该是可以在启动浏览器之前进行初始化参数设置的:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.CheromeDriver;
import org.openqa.selenium.chrome.CheromeOptions

ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("profile.default_content_setting_values.notifications", 2);//2就是代表禁止加载的意思
options.setExperimentalOption("prefs", prefs);

//或者
options.addArguments("disable-infobars");

 

所有Chromium命令行开关列表如下:
https://peter.sh/experiments/chromium-command-line-switches/#disable-permissions-api

发布了69 篇原创文章 · 获赞 117 · 访问量 19万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 成长之路 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览