无法从div获取文本,虽然我得到了响应的内容

时间:2017-10-30 11:07:27

标签: java jsoup

无法从div中获取文本...使用以下代码,不确定是什么问题

public void changeTab(TabChangeEvent event) {
    TabView tabView = (TabView) event.getComponent();
    logger.entry(tabView.getActiveIndex());
    Tab tabProzesse = tabView.findTab("myForm:tabs:tab3");
    if (Objects.nonNull(tabProzesse)) {
        List<UIComponent> childs = tabProzesse.getChildren();
        Optional<UIComponent> c = childs.stream().filter(child -> child.getClientId().equals("myForm:tabs:data")).findFirst();
        if (c.isPresent() && c.get() instanceof DataTable) {
            DataTable t = (DataTable) c.get();
            Optional<UIColumn> optColName = t.getColumns().stream().filter(col -> col.getClientId().contains("colName")).findFirst();
            optColName.ifPresent(colName -> {
                logger.debugf("colName.clientId=%s", colName.getClientId()); // <-- output colName.clientId=myForm:tabs:data:colName
            });
        }

    }
}

1 个答案:

答案 0 :(得分:0)

可能是因为您的 Java浏览器 未登录到Facebook。如果您尚未登录,除了登录页面外,您将看不到任何内容。因此,您无法阅读div的内容,您当前位于首页。

尝试打印您正在获取的所有内容,并检查它是否实际上是起始页。

您可以在此处找到深入的解释:Finding a word in a web page using java

如图所示,您可能找不到针对此问题的简易修复

另请注意,在不使用自己的API 的情况下抓取Facebook会违反 服务条款