当前位置: 首页 > 知识库问答 >
问题:

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

杨波娃
2023-03-14

我正在浏览一个网站,当我点击一个按钮时,它应该下载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个答案

戴建义
2023-03-14
/*ChromeOptions options = new ChromeOptions();

/*use to disable the "Chrome is handled by automation script" pop up.*/

options.addArguments("disable-infobars");  

/* use to start the Chrome browser as maximized.*/

options.addArguments("--start-maximized"); 

/* HashMap is use to disable the password saving pop up in Chrome browser.*/

Map<String, Object> prefs = new HashMap<String, Object>(); 

prefs.put("credentials_enable_service", false);

prefs.put("profile.password_manager_enabled", false);

options.setExperimentalOption("prefs", prefs);

/*Download File store in Download folder*/

prefs.put("profile.default_content_settings.popups", 0);

prefs.put("download.default_directory", downloadFilesPath);

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

HashMap<String, Object> chromeOptionsMap = new HashMap<String, Object>();

options.setExperimentalOption("prefs", prefs);

options.addArguments("--test-type");

options.addArguments("--disable-extensions"); //to disable browser extension 

DesiredCapabilities cap = DesiredCapabilities.chrome();

cap.setCapability(ChromeOptions.CAPABILITY, chromeOptionsMap);

cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);

cap.setCapability(ChromeOptions.CAPABILITY, options);

driver = new ChromeDriver(cap);*
佴阳辉
2023-03-14

对我有用的是添加:

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

我希望这有所帮助

 类似资料:
  • http://nyshistoricnewspapers.org/lccn/np00030001/2010-02-22/ed-1/seq-1.pdf 如果您在Edge浏览器中访问此链接,您会注意到绝对没有使用selenium WebDriver下载此页面的方法。由于以下原因: F12或开发人员选件不提供任何信息 在标题区域中的右键单击被完全禁用。 在“正文”区域中,右键单击“检查”元素被禁用或不显

  • 问题内容: 请找到以下带有镶边功能的代码。实际上,浏览器没有将文件下载到指定的路径。 问题答案: 对于Chromedriver,请尝试: 注意:-在Windows中,您需要使用\\作为路径,而如果您使用linux或mac,则使用// 希望这可以帮助。:)

  • 问题内容: 我正在尝试使用selenium从网站下载pdf文件,但我能够打开文件,但无法使用代码自动下载。 码: 请提出建议。先感谢您 问题答案: 以上问题现已解决

  • 我想使用硒下载chrome中的pdf。 我尝试了上述代码,但不起作用

  • 我有一个web服务,它会返回给定文档id的pdf流,我会将内容类型设置为application/pdf,并将输出写入IFRAME,直到这一点,我完成并确定!我的问题是:我的要求是禁用IFRAME中的pdf下载工具栏按钮,是否有任何方法可以使用JavaScript或j query禁用pdf工具栏按钮,我尝试了以下方法: 我尝试设置工具栏=0为iframe标签,但它无法工作。有人请告诉我如何实现这一点