1
我正在写一个Greasemonkey脚本,并且我想通过使用XPath来选择在某个用户名之后发生的帖子正文,从而在phpBB2论坛上更改论坛帖子的文本,但整个事情是一堆巨大的桌子。phpBB论坛的XPath表达式
<tr>
<td>
<span class="name">
<a>
<b>username</b>
</span>
<span></span>
</td>
<td>
<table>
<tbody>
<tr></tr>
<tr></tr>
<tr>
<td>
<span class="postbody">text of post</span>
<span></span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
我需要得到在b标签中的用户名等于某个名称后发生的后身跨度,然后弄乱文本。下面是我想做到这一点:
var postguy = document.evaluate('fffffff', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < postguy.snapshotLength; i++) {
thisLink = postguy.snapshotItem(i);
//then do something with the post
}
如果有人将神奇的用户名加粗显示在他们的帖子文本中,会给出误判,我想 - 我想我们需要将搜索用户名限制在'name'类的范围内。 – AakashM 2010-05-26 15:56:11
@AakashM:一个公平的建议。我将添加限制。 – Welbog 2010-05-26 15:56:57
你需要在类的前面放一个@。 – Biff 2010-05-26 20:07:21