XPath评估会在Chrome中杀死一个脚本

时间:2011-02-15 04:41:37

标签: javascript google-chrome xpath

我在这个节点上运行一个简单的document.evaluate(),其中包含一个简单的XPath表达式:

<li class="comment-block"> 
<div class="comment-icon"> 
    <a href="address.com" class="comment-buddy-icon-link">Address</a> 
</div> 
<div class="comment-content"> 
    <p class="comment-head"> 
        <span class="comment-owner"> 
            <span class="comment-author-container">
                <a href="http://some.address.com">Some Address</a>
            </span> 
        </span> 
        <small class="comment-meta"> 
            Some text
        </small> 
    </p> 
    <div class="comment-body"> 
        <p>Some more Text</p> 
    </div> 
</div>
</li>

XPath字符串是: div[contains(@class, 'comment-content')]。这在Firefox中运行良好,在Chrome中中断。 Chrome中没有例外,脚本只是退出。我不明白为什么会破坏,情况似乎很简单,选择li元素的子div,其类是“comment-content”。

有趣的是,另一个XPath字符串.//div[contains(@class, 'comment-content')]在Chrome中运行良好。

1 个答案:

答案 0 :(得分:1)

如果要选择上下文节点的div直接子节点,我在1​​2月修复了一个Webkit错误:XPath expressions that start with div are treated as syntax errors。该修复程序位于Chrome(10)的Dev Channel版本中,但它不稳定(9)。目前,您必须使用./div,这意味着与div相同。