我需要帮助。我是新手在JavaScript中使用XPath而且这个让我难过。
我的脚本使用xmlhttp检索网页的内容,然后将其包装在'div'中:
div=document.createElement('div');
div.innerHTML=xmlhttp.responseText.replace(/<img[^>]*>/);
我需要访问这个包装分区的正文内容,我使用Xpath来执行此操作:
bodyContent = document.evaluate("//*[@id='bodyContent']", div ,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
bodyContent = bodyContent.snapshotItem(0);
虽然这在firefox中非常有效并且检索了所需的XpathObject,但它并没有为google chrome浏览器提供所需的结果。而不是返回创建的'div'元素的bodyContent除(并作为contextNode传递),它返回当前文档页面的bodyContent。
我已经检查并使用chrome - 收到了正确的xmlhttp.reponseText。
有关于此的任何想法吗?
谢谢,
答案 0 :(得分:2)
document.evaluate(".//*[@id='bodyContent']", div ,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null)
是否会在两种浏览器中为您提供所需的结果?