如何使用Selenium / Java在Chrome和IE中禁用Flash插件

时间:2015-08-07 14:34:00

标签: java selenium-webdriver

Chrome使用以下代码...但Chrome的闪存未被禁用.. 即使我也需要IE的代码

ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("profile.default_content_settings.state.flash",0);
//profile.default_content_settings.popups
options.setExperimentalOption("prefs", prefs);  
System.setProperty("webdriver.chrome.driver",System.getProperty("user.dir")+"\\chromedriver.exe");
driver = new ChromeDriver(options);

2 个答案:

答案 0 :(得分:3)

这就是我让它适用于Chrome的方式:

ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-bundled-ppapi-flash");
WebDriver webDriver = new org.openqa.selenium.chrome.ChromeDriver(options);

答案 1 :(得分:0)

我相信在使用Chrome时您有两种选择。不过我不知道IE。您唯一的选择可能是手动配置它。

禁用外部插件

基于Disabling flash in Chrome。这将禁用任何外部插件,包括Adobe Flash Player。

ChromeOptions options = new ChromeOptions();
options.AddArguments("--disable-plugins-discovery");
WebDriver driver = new ChromeDriver(options);

禁用Adobe Flash Player插件

基于Disable flash in saucelabs/selenium webdriver?。这应该只禁用Adobe的插件。

Map<String, Object> prefs = new HashMap<>();
prefs.put("plugins.plugins_disabled", "Adobe Flash Player");
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", prefs);  
WebDriver driver = new ChromeDriver(options);