Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Browser 如何将HTMLUnit页面呈现给浏览器?_Browser_Render_Htmlunit - Fatal编程技术网

Browser 如何将HTMLUnit页面呈现给浏览器?

Browser 如何将HTMLUnit页面呈现给浏览器?,browser,render,htmlunit,Browser,Render,Htmlunit,我使用HTMLUnit进行网站清理。我在浏览器中显示Html页面时遇到问题。这意味着当我在做网站抓取时,网站会添加新的页面。因此,我需要通过我的HTMLUnit应用程序向浏览器显示该页面。那么,如何将HTMLUnit页面呈现给浏览器呢?正如我所理解的那样,您使用HTMLUnit加载页面,并希望在对呈现的代码进行一些操作后在浏览器中显示它 一般来说,渲染页面需要时间,我看到了一些我不喜欢的睡眠解决方案 有两种方法: page.asText()-显示呈现的文本 page.asXml()-在呈现之前显

我使用HTMLUnit进行网站清理。我在浏览器中显示Html页面时遇到问题。这意味着当我在做网站抓取时,网站会添加新的页面。因此,我需要通过我的HTMLUnit应用程序向浏览器显示该页面。那么,如何将HTMLUnit页面呈现给浏览器呢?

正如我所理解的那样,您使用HTMLUnit加载页面,并希望在对呈现的代码进行一些操作后在浏览器中显示它

一般来说,渲染页面需要时间,我看到了一些我不喜欢的睡眠解决方案

有两种方法:

  • page.asText()-显示呈现的文本
  • page.asXml()-在呈现之前显示文本
  • 但这两种功能都不是您想要的

    一个奇怪但仍然有效的解决方案是保存呈现的页面,然后用浏览器加载:

    // Get page as Html
    HtmlPage page = wc.getPage("http://stackoverflow.com/");
    
    // Generate random file in temp directory
    File file = File.createTempFile("HtmlUnit", ".html");
    file.delete(); // Delete is needed, because page.save can't overwrite it
    
    //save page image
    page.save(file);
    
    //Open the page with a browser
    Runtime.getRuntime().exec("C:/Program Files/Internet Explorer/iexplore.exe " + file);