我正在尝试通过HTMLUnit抓取html内容。一切都很好,但是无法获取Flash内容,这些内容实际上是<img>可见的<object>,我有

   webClient.getOptions().setJavaScriptEnabled(true);
   webClient.getOptions().setActiveXNative(true);
   webClient.getOptions().setAppletEnabled(true);
   webClient.getOptions().setCssEnabled(true);


在某些地方,我发现someone说HTMLUnit不支持Flash,但是这些答案似乎过时了,所以提出了这个问题。有人请帮忙。
谢谢。

最佳答案

我用help找到了它
为此,我已经将我的HTMLUnit版本从2.15降级到2.13,因为在2.15 BrowserVersionFeatures.JS_FRAME_RESOLVE_URL_WITH_PARENT_WINDOW中似乎已弃用,并且不知道在这里替换了什么功能。

   private static BrowserVersion firefox17WithUptoDateFlash = new BrowserVersion(BrowserVersion.FIREFOX_17.getApplicationName(),        BrowserVersion.FIREFOX_17.getApplicationVersion(),        BrowserVersion.FIREFOX_17.getUserAgent(),        BrowserVersion.FIREFOX_17.getBrowserVersionNumeric(),new BrowserVersionFeatures[]{
    BrowserVersionFeatures.JS_FRAME_RESOLVE_URL_WITH_PARENT_WINDOW,
    BrowserVersionFeatures.STYLESHEET_HREF_EXPANDURL,
    BrowserVersionFeatures.STYLESHEET_HREF_STYLE_NULL
});
static {
    PluginConfiguration plugin1 = new PluginConfiguration(
            "Shockwave Flash",
            "Shockwave Flash 11.4 r402",
            "NPSWF32_11_4_402_287.dll");
    plugin1.getMimeTypes().add(new PluginConfiguration.MimeType(
            "application/x-shockwave-flash",
            "Adobe Flash movie",
            "swf"));
    firefox17WithUptoDateFlash.getPlugins().add(plugin1);
}
   final WebClient webClient = new WebClient(firefox17WithUptoDateFlash);


在这里,新编写的浏览器实例将支持htmlunit充当启用Flash的无GUI浏览器

关于java - 如何启用Flash到HTMLUnit?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24995989/

10-11 19:20