如何在selenium中禁用chrome pdf viewer,它应该在发生任何pdf时在默认下载中自动下载

时间:2017-08-16 15:20:59

标签: google-chrome selenium webdriver selenium-chromedriver chrome-options

我正在浏览一个网站,我有一种情况,当我点击一个按钮时,它应该下载pdf ....

我使用的是最新版本的chrome 60,selenium 3.4,chromedriver。

        HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
        chromePrefs.put("plugins.plugins_disabled", new String[] {"Chrome PDF Viewer"});
        chromePrefs.put("profile.default_content_settings.popups", 0);
        ChromeOptions options = new ChromeOptions();
        options.setExperimentalOption("prefs", chromePrefs);
        DesiredCapabilities cap = DesiredCapabilities.chrome();
        cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
        cap.setCapability(ChromeOptions.CAPABILITY, options);
        WebDriver driver = new ChromeDriver(cap);

我也使用了上面的代码,但它不起作用。

2 个答案:

答案 0 :(得分:4)

对我有用的是添加:

chromePrefs.put("plugins.always_open_pdf_externally", true);

我希望这会有所帮助

答案 1 :(得分:-1)

/ * ChromeOptions选项=新的ChromeOptions();

/ 用于禁用“Chrome由自动化脚本处理”弹出窗口。 /

options.addArguments( “禁用-信息栏”);

/ *用于启动Chrome浏览器最大化。* /

options.addArguments( “ - 启动最大化”);

/ * HashMap用于禁用Chrome浏览器中的密码保存弹出窗口。* /

Map prefs = new HashMap();

prefs.put(“credentials_enable_service”,false);

prefs.put(“profile.password_manager_enabled”,false);

options.setExperimentalOption(“prefs”,prefs);

/ 在下载文件夹中下载文件存储 /

prefs.put(“profile.default_content_settings.popups”,0);

prefs.put(“download.default_directory”,downloadFilesPath);

prefs.put(“plugins.always_open_pdf_externally”,true);

HashMap chromeOptionsMap = new HashMap();

options.setExperimentalOption(“prefs”,prefs);

options.addArguments( “ - 试验型”);

options.addArguments( “ - 禁用扩展”); //禁用浏览器扩展程序

DesiredCapabilities上限= DesiredCapabilities.chrome();

cap.setCapability(ChromeOptions.CAPABILITY,chromeOptionsMap);

cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS,true);

cap.setCapability(ChromeOptions.CAPABILITY,options);

driver = new ChromeDriver(cap); *