firebase - 使用 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();
}
}
解决方案
看起来此页面使用 javascript 模块 - HtmlUnit (Rhino) 目前不支持此功能
推荐阅读
- javascript - 在 JavaScript 上验证 GitHub API
- node.js - 打字稿生成无效的三斜杠指令
- reactjs - 使用 domjs 时无法让 refs 工作,正如使用反应测试库测试的那样
- excel - 向下舍入到最接近的可用分数
- javascript - 导航栏下方的 Bootstrap 4 下拉菜单推送弹出窗口
- git - 如何解决受保护分支上的合并冲突?
- typescript - 不使用 let、const 或任何赋值字的直接数组
- python-3.x - Python - 提取档案并对其进行操作
- laravel - 如何修复 cpanel 中损坏的链接和被阻止的文件夹
- prolog - 如何比较序言中列表的元素