javascript - 无法使用 Jquery 和 Jsoup 访问动态生成的元素

标签 javascript php android jquery jsoup

让我们解释一下发生了什么,我正在解析一个 html 页面以在我的 Android 应用程序中显示其内容。首先,我使用 android webview 加载 html,然后通过以下代码获取 html 代码:

  // load a webview
         wb.postUrl(url, EncodingUtils.getBytes(postData, "BASE64"));

    // on page finish i will call a   @JavascriptInterface
        public void onPageFinished(WebView view, String url) {

     view.loadUrl("javascript:window.HTMLOUT.processMain(
document.getElementsByTagName('html')[0].innerHTML);");

        }




          @JavascriptInterface
         class LoadListener{
                @JavascriptInterface
                public void processMain(String html)
                {

                     doc= Jsoup.parse(html);
                    getActivity().runOnUiThread(new Runnable() {
                        @Override
                        public void run() {

                   //here i can parse doc that is a jsoup document and select elements
        doc.select("#login > tbody > tr > td.error").text();
                    });

我的问题:我的html页面中有一个table动态添加到html(我不知道如何添加?addchild?php?或者...因为我无法访问PHP 代码)。我用这行代码选择该表! 但它返回 null。

doc.select("#login > tbody > tr > td.error").text()

那么我如何选择该表?

最佳答案

Jsoup 不是浏览器。它是一个解析器。它不理解 JavaScript 并且无法运行它。因此,如果您的页面通过 Javascript 动态构造 DOM 元素,则无法使用 Jsoup 访问它。看看selenium webdriver如果你需要这个

关于javascript - 无法使用 Jquery 和 Jsoup 访问动态生成的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32968435/

相关文章:

javascript - jquery 防止点击另一个按钮

Javascript:使用全局变量是否合适?

android - 在 Android 应用程序中选择 "Compile with"API 选项的良好实践

javascript - IE8 不动态应用 css 显示

javascript - 使用 JQuery 调整 IMG 和 DIV 大小会导致图像调整大小而不改变相对于相邻 DIV 的位置(它们保持固定并产生溢出)

javascript - 使用 ajax 提交表单后停留在同一页面

php - CakePHP 的用户管理、身份验证和 acl 插件?

php - 模型->保存()在 Yii 中不起作用 -> 显示 ' error '

java - 安卓 fragment 问题

安卓服务 : What happen at the end of Activity life?