如何在IE(Internet Explorer)上自动执行“另存为”?

时间:2010-01-14 15:01:44

标签: java internet-explorer browser-automation

我想打开一个网页(其URL作为命令行参数提供),然后想要将该网页的内容保存为.txt文件。

请记住,我需要.txt文件,而不是网页的来源。

我用硒试了手,效果很好。但是现在我想要一些不能打开真实浏览器的东西,因为打开浏览器并在其中加载页面是一项耗时的任务。

我想在java中完成。

根据内容,我指的是当我们在IE中保存网页时,通过转到“另存为”然后选择“.txt”作为文件的输出格式时得到的文本(没有标记)。

2 个答案:

答案 0 :(得分:3)

如果我理解你的问题,你想要渲染页面并复制渲染文本而不使用导航器。

为此,您需要一个无头浏览器。 HTMLUnit将是一个不错的选择。

要获取文本内容,您可以这样做(未经测试):

WebClient c = new WebClient(BrowserVersion.INTERNET_EXPLORER_6);
TextPage tp = c.getPage("yoururl");
String content = tp.getContent();

(见Javadoc

答案 1 :(得分:-1)

嗯,我甚至从头开始编写代码,看起来并不复杂,甚至可能不值得在项目中添加对另一个库的依赖:

  • 打开对该网址的URLConnection
  • 从连接中获取流,应用正则表达式删除所有HTML到数据。如果页面预计不会对您的内存要求太大:)将页面读入String然后应用正则表达式。或者,拍摄所描述的内容here(我对此处描述的方式没有经验)。
  • 将输出保存到txt。