我在这个节点上运行一个简单的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中运行良好。
答案 0 :(得分:1)
如果要选择上下文节点的div
直接子节点,我在12月修复了一个Webkit错误:XPath expressions that start with div
are treated as syntax errors。该修复程序位于Chrome(10)的Dev Channel版本中,但它不稳定(9)。目前,您必须使用./div
,这意味着与div
相同。