不能使用Jquery和Jsoup访问动态生成的元素
Can't access dynamically generated element with Jquery and Jsoup
让我们解释一下发生了什么,我正在解析一个HTML页面,以在我的android应用程序中显示其内容。首先,我加载html与android webview
,然后我得到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();
});
我的问题:有一个table
在我的html页面是动态添加到html(我不知道如何,追加?addchild吗?php吗?还是……因为我没有访问PHP代码)。我用这行代码选择那个表!返回null
doc.select("#login > tbody > tr > td.error").text()
那么我如何选择这个表??
Jsoup不是浏览器。它是一个解析器。它不理解JavaScript,也不能运行它。因此,如果您的页面通过Javascript动态构造DOM元素,则无法使用Jsoup访问它。如果您需要这个
相关文章:
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- 将动态元素绑定到函数;只剩下一个绑定
- 关于动态元素中循环中的事件
- 对动态元素使用.on()和e.stopPropagation()
- 只删除javascript中的1个动态元素
- 删除在加载dom之后创建的动态元素
- 从服务器和/或客户端加载动态元素的典型技术是什么
- IE7/8中的jQuery动态元素错误
- Jquery动态元素选择器
- AnguarJS$编译的动态元素
- 使用jQuery使动态元素可选择
- jquery在动态元素上调用日期选择器
- 如果在transclusion之后添加,为什么指令下的动态元素具有错误的作用域
- 如何使用jQuery唯一地识别具有相同id的类似动态元素
- 将单击处理程序绑定到动态元素
- 为动态元素附加事件处理程序
- 使用 jQuery 创建动态元素 单击事件始终返回 for 循环中的最后一个索引
- jQuery中的目标动态元素
- 将动态元素/行添加到 Angularjs 中的多维 Json 数组中
- Jquery 单击函数不适用于动态元素