首页 > 解决方案 > 使用 HTMLUnit 抓取 Firebase 页面

问题描述

我使用 htmlunit 2.36.0 并尝试抓取: https ://delightful.dussmann.com/menu/B%C3%BCropark%20Bredeney/B%C3%BCropark%20Bredeney 不知何故,没有通过 javascript 执行动态内容获取。任何人有任何想法如何解决它?

@Test
public void testPDFFetch() throws IOException {

    String url = "https://delightful.dussmann.com/menu/B%C3%BCropark%20Bredeney/B%C3%BCropark%20Bredeney";
    WebClient client = new WebClient(BrowserVersion.CHROME);
    client.getOptions().setJavaScriptEnabled(true);
    client.getOptions().setThrowExceptionOnScriptError(true);
    client.getOptions().setCssEnabled(true);
    client.getOptions().setUseInsecureSSL(true);

    client.setAjaxController(new AjaxController() {
        @Override
        public boolean processSynchron(HtmlPage page, WebRequest request, boolean async) {
            return true;
        }
    });
    try {
        HtmlPage page = client.getPage(url);
        // page.wait(20000);
        client.waitForBackgroundJavaScript(10000);
        client.waitForBackgroundJavaScriptStartingBefore(10000);
        Thread.sleep(10000);
        System.out.println(page.asXml());
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        client.close();
    }

}

标签: firebaseweb-scrapinghtmlunit

解决方案


看起来此页面使用 javascript 模块 - HtmlUnit (Rhino) 目前不支持此功能


推荐阅读