我正在浏览一个网站,我有一种情况,当我点击一个按钮时,它应该下载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);
我也使用了上面的代码,但它不起作用。
答案 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); *