在下面的代码中,我尝试在无头模式下使用selenium从chrome浏览器下载PDF。它对PDF文件很好,但对

.cfm

文件。

public static void main(String args[]) throws InterruptedException, AWTException, IOException, DocumentException {

System.setProperty("webdriver.chrome.driver", "/home/OtherProj/webDrivers/chromedriver_64");

String downloadPath = "/home/Downloads/AAAA/";

File file = new File(downloadPath);

if(!file.exists())

file.mkdirs();

ChromeOptions chromeOptions = new ChromeOptions();

HashMap prefs = new HashMap<>();

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

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

chromeOptions.addArguments("--disable-extensions");

chromeOptions.setExperimentalOption("prefs", prefs);

chromeOptions.setHeadless(true);

String pdfUrl = "https://www.dummyurl.com/prod/formPDF.cfm";

ChromeDriverService driverService = ChromeDriverService.createDefaultService();

WebDriver driver = new ChromeDriver(driverService, chromeOptions);

// Saves the file on the given path

PDFDemo.downloadFile(downloadPath, driverService, driver, pdfUrl);

System.out.println("Document Downloaded..");

}

private static void downloadFile(String downloadPath, ChromeDriverService driverService, WebDriver driver, String pdfUrl) throws ClientProtocolException, IOException, InterruptedException {

Map commandParams = new HashMap<>();

commandParams.put("cmd", "Page.setDownloadBehavior");

Map params = new HashMap<>();

params.put("behavior", "allow");

params.put("downloadPath", downloadPath);

commandParams.put("params", params);

HttpClient httpClient = HttpClientBuilder.create().build();

ObjectMapper objectMapper = new ObjectMapper();

String command = objectMapper.writeValueAsString(commandParams);

String u = driverService.getUrl().toString() + "/session/" + ((RemoteWebDriver) driver).getSessionId() + "/chromium/send_command";

HttpPost request = new HttpPost(u);

request.addHeader("content-type", "text/x-cfm");

request.setEntity(new StringEntity(command));

httpClient.execute(request);

// Opens pdf of specific URL

driver.get(pdfUrl);

}

我也提到了下面的答案,但没有起作用。我也没有在控制台中得到任何异常。

Java谷歌无头模式速度_Java selenium无头模式下载CFM文件问题相关推荐

  1. java使用jxl生成excel表格,jsp使用js下载excel文件xls

    java使用jxl生成excel表格,jsp使用js下载excel文件 后端代码 maven jar包 主体代码逻辑 引入的jar包 具体代码段 重点详解 表头和表格内容两种格式 直接将 HttpSe ...

  2. java工厂方法模式记录日志_java工厂方法模式

    一:工厂方法模式 1.概念 工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式. 工厂方法模式的用意 ...

  3. java策略设计模式输出字母_Java 设计模式-策略模式(Strategy Pattern)

    策略模式(Strategy Pattern)属于对象行为模式.其作用是针对一组算法,将每个算法封装到具有共同接口的独立类中,从而使它们可以相互替换. 策略模式的意图是将可以互换的方法封装在各自的对立类 ...

  4. java 设置不可点击_Java Selenium webdriverwait 解决元素不可点击问题

    webdriver有两种等待方式:显式等待和隐式等待 因为现在大部分的web应用程序会使用AJAX技术.AJAX技术简单来说就是异步JavaScript和xml,是一种用户创建快速动态网页的技术,AJ ...

  5. java中介者模式例子_Java中介者模式(Mediator Pattern)

    本篇文章帮大家学习java中介者模式(Mediator Pattern),包含了Java中介者模式(Mediator Pattern)使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以 ...

  6. java等待页面加载_java selenium (十三) 智能等待页面加载完成

    我们经常会碰到用selenium操作页面上某个元素的时候, 需要等待页面加载完成后, 才能操作.  否则页面上的元素不存在,会抛出异常. 或者碰到AJAX异步加载,我们需要等待元素加载完成后, 才能操 ...

  7. java模拟网易邮箱登录_java+selenium 实现网易邮箱登录功能

    今天学习selenium ,折腾了一整天,写个笔记记录一下今天的错误. 我用的是java+webdriver,在eclipse中运行,今天的学习是进行网易邮箱的登录功能.一开始代码运行一直报找不到元素 ...

  8. java商场满减活动_Java使用策略模式解决商场促销商品问题示例

    本文实例讲述了Java使用策略模式解决商场促销商品问题.分享给大家供大家参考,具体如下: 一 模式定义 策略模式:定义一系列的算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的 ...

  9. java 策略模式 促销_java设计模式——策略模式

    一. 定义与类型 定义:针对一组算法,将每一种算法都封装到具有共同接口的独立的类中,从而是它们可以相互替换.策略模式的最大特点是使得算法可以在不影响客户端的情况下发生变化,从而改变不同的功能.当代码中 ...

最新文章

  1. Python的包管理工具Pip
  2. Android 再谈handler
  3. IOS用户界面的新视觉比例
  4. python中取整数的四种方法
  5. npm run dev 报错echarts
  6. zabbix mon监控mysql_MON-DB-mysql通过zabbix监控processlist数量
  7. 前端学习(1333):mongodb增
  8. c++ 转bcd码_8421BCD码转换为十进制
  9. ios10 申请拍照权限_iOS10配置申请权限
  10. itchat key
  11. C语言:计算1*2*3*....*100,即求100!。
  12. linux 下 dhcp failover相关
  13. early stopping softmax批量梯度下降(BGD)手动实现
  14. 在电脑上写好的移动端页面,如何在手机上快速查看
  15. Java字符串反转函数reverse()
  16. 宠物王国四java正版_宠物王国单机版正版
  17. 知道创宇研发技能表v2.2
  18. 敲七 STL队列(c++)
  19. Graph Convolution over Pruned Dependency Trees Improves Relation Extraction 论文研读
  20. LwIP——无操作系统启动流程

热门文章

  1. 富文本在服务器上图片不显示,解决CKEditor 4 富文本编辑器在图片组件无法显示[上传]选项卡的相关问题...
  2. 蓝桥杯真题跑步锻炼(Excel快速准确解法)
  3. strtol函数用法
  4. OAuth2.0 - 介绍与使用 及 授权码模式讲解
  5. spring-oauth-server实践:授权方式1、2、3和授权方式4的token对象.authorities产生方式比较...
  6. 陈妍希+陈晓=陈以三,各路明星小孩预测大揭底
  7. java中自定义日期类_java日期操作自定义类
  8. Spring中的packagesToScan的方式配置hibernate的class文件映射规则的理解
  9. js黑魔法(TBC)
  10. 安装win8后,恢复win7风格的开机菜单