如何使用Selenium针对Firefox和Chrome禁用推送通知?
我想通过Selenium Webdriver启动Firefox浏览器时禁用通知。我找到了这个答案,但是它已被弃用,在Firefox上对我不起作用(尽管它在Chrome上可以完美运行)。
我将这种依赖关系用于我的 pom.xml :
<dependency> <groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.11.0</version>
</dependency>
回答:
如果您的用 例 是禁用 通知,则可以使用 以下选项:
- 要在 ,请使用 FirefoxProfile 并将 密钥 和 以及所需的 值 传递为 : __****
System.setProperty("webdriver.gecko.driver", "C:\\path\\to\\geckodriver.exe");
ProfilesIni profile = new ProfilesIni();
FirefoxProfile testprofile = profile.getProfile(“debanjan”);
testprofile.setPreference(“dom.webnotifications.enabled”, false);
testprofile.setPreference(“dom.push.enabled”, false);
DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setCapability(FirefoxDriver.PROFILE, testprofile);
FirefoxOptions opt = new FirefoxOptions();
opt.merge(dc);
WebDriver driver = new FirefoxDriver(opt);
driver.get("https://www.ndtv.com/”);
:此方法使用存储在我的本地系统中的现有FirefoxProfile
名称为 的现有文件,该文件是
上
文件中的文档
- 要在 ,其 Value 为 : *
System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
Map
prefs = new HashMap (); prefs.put(“profile.default_content_setting_values.notifications”, 2);
prefs.put(“credentials_enable_service”, false);
prefs.put(“profile.password_manager_enabled”, false);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption(“prefs”, prefs);
options.addArguments(“start-maximized”);
options.addArguments(“disable-infobars”);
options.addArguments(“–disable-extensions”);
options.addArguments(“–disable-notifications”);
WebDriver driver = new ChromeDriver(options);
driver.get("https://www.ndtv.com/”);
以上是 如何使用Selenium针对Firefox和Chrome禁用推送通知? 的全部内容, 来源链接: utcz.com/qa/420672.html